With self-driving tech, buses could be made a lot smaller and more frequent. They are large and infrequent because of fixed per-vehicle costs (mostly the driver).
EDIT: Small size then enables personalized routing: a multi-passenger taxi taking a set of people to similar destinations.