I suspect it's a pretty hard optimisation problem if you want to be lean. And if you want to overprovision... you end up with something that looks a bit like status quo.
Don't get me wrong, I'd love for this to exist. Just, as someone with optimisation experience, it seems pretty gnarly.
The status quo in many cities is ~5x overprovisioning just in terms of capacity actively on the road at any given time, and way more than that if you count idle capacity. You could overprovision by a lot and still come out ahead.
I think the cheapest and easiest starting point would be to offer people a time guarantee if they book, and contract with cab companies to provide capacity.
E.g. a bus route near where I used to live was frequent enough that you'd usually want to rely on it, but sometimes buses would be full during rush hour. Buying extra buses and hiring more drivers to cover rush hour was prohibitively expensive, but renting cars to "mop up" when on occasion buses had to pass stops would cost a tiny fraction, and could sometimes even break even (e.g. 4 London bus tickets would covered the typical price for an Uber to the local station, where the bus usually emptied out quite well)
Reliably being picked up in a most 10 minutes vs. sometimes having to wait for 20-30 makes a big difference.