The biggest problem is that drivers are unsupervised employees. I'm afraid that if the driver was being paid hourly they would become ineffective. Currently, the mileage/drop pay works because the driver has an incentive to get things done weather that be calling dispatch, finding an alternative way around an accident, working within their HOS to drive through high traffic areas at a different time other than rush hour etc.
We see the same issues with hourly city drivers. Some drivers need to be called to ask what is going on, other drivers are calling me when there are 10 trucks ahead of them at a delivery to see if is anything that can be done.
When thinking through scenarios like this I like to exaggerate the possibilities to see what is a worse case scenario. Lets say an OTR driver from Toronto to Vancouver takes 8 days to drive there because he drives slow, stops for coffees too often, then needs washroom breaks because of the coffee. At 8 days the customer will be unhappy. The carrier will pay more money for driver wages (remember one of the largest input costs) and become ineffective because his tractor/trailer and in-process cash flow is not working optimally. How do you get that driver to become more effective without threatening to replace him? There is certainly no incentive - he lives in the truck and it doesn't matter to him, he's getting paid either way. On the other hand, a mileage/drop pay will sort this out financially - the driver will identify quite quickly that he makes more if he keeps moving.
I don't think you'll see the mileage/drop pay go away. It is simply the best method to financially pay a person for work done. Those who work hard and get stuff done will be paid more, those who are ineffective will get paid less. The carrier will just have to decide where to draw the line for the ineffective employee.