Drivers will still take advantage of such a system. Whenever a market is over-supplied, drivers will sign in to collect their free "on-call duty" checks for doing nothing.
That's what contracts are for. Let's say that you can only pass on some small amount of rides or your on-call duty is terminated. Or go further and state in your contract that you have to take rides if you're on on-call duty. If you have too many drivers, don't 'hire' more. If you have too few riders on the important times, increase the bonus.
There are all kinds of adjustments you can make.
Another thing: you don't get paid for "doing nothing", you are getting paid for dropping everything when needed. On these conditions you're limited in all kinds of ways, e.g.
Taking care of a small kid alone? - not possible.
Going shopping? - not really possible.
Ultimately, scheduling shifts is going to be both easier to manage and more cost efficient than what you're suggesting. Uber has a good idea of how many drivers they need at any given time. This ideal distribution of supply will never align perfectly with the supply pool's natural scheduling preferences. You can try to use economic incentives to force these two distributions to overlap, or you can just exert control (that you rightfully have over employees) and force your employees to work when you need them.
Yeah, I was a bit optimistic or even idealistic in thinking that Uber&Lyft are then treating their employees like independent contractors simply because they did before. I just want to stress that no one is really preventing them from doing so. It's "just" expensive and would need them to trust their employees to an extent.
There are all kinds of adjustments you can make.
Another thing: you don't get paid for "doing nothing", you are getting paid for dropping everything when needed. On these conditions you're limited in all kinds of ways, e.g.
Taking care of a small kid alone? - not possible. Going shopping? - not really possible.