I mean, to be fair, back in the days before Uber the abuses some riders got from drivers was even more sickening. Giving them the right to refuse rides arbitrarily is not really the greatest thing for consumers.
Ideally the problems with abuse of ride cancellation can just be solved via universal methods that apply to uber, lyft, AND traditional cabs. There's plenty of data available so it is feasible to use that data to police abuses of the system.
Uber should add the ability to bid up your route--like when it's taking a long time to match you to a driver, or you want to entice a driver who is nearby so you can get where you're going sooner.