It would be ideal to have overhead wires at least for parts of the route so that less battery capacity is required.
Why not just switch batteries at the bus stops though?
This way the routes can be changed at will without the need to worry about having to pass by lines at certain points. It might even be less complex. And perhaps even make (some of) the bus stations themselves movable so you can reroute everything as needed.
As for the control system, I do wonder how much AI is being used as that seems right on the edge of what is doable without AIs.