The bus system has to make pretty aggressive tradeoffs in order to be useful to commuters. You can't make it stop at every block in order to make it take less walking to get to the bus stop. Similarly, you can't have parallel lines a block apart. You have to limit the service area so that you can afford to run busses every 5-10 minutes. And you'll want to improve streets so that busses can run down the center and pic…
But to your point about stopping in every block: optimizing a bus route along a major avenue in a block-based US city seems like a similar problem to elevator scheduling in a high-rise building. I wonder if similar models to ‘sky lobbies’ and destination selection could be applied to get people more efficiently to their destination.