I don't know Android well enough to say, but my instinct is that every mobile device capable of running the Uber app has a low power mode. The app should be able to query the state of the phone to determine whether or not the user is likely to lose power before the pickup occurs.
But of course, doing that would require that the Uber app was honest about when the driver is actually going to get to the rider.
There are solutions to this problem. I don't know what all of them are, but I guarantee you that they exist. It's not that hard of a problem.
And we also don't know how much of a problem that cancellations are in reality. And we don't know how much of this hypothetical problem is actually caused by drivers fucking with things.
So, I dunno, I think your question involves a lot of assumptions that aren't really correct. Like, not even remotely. You're pretending there's a legit problem, where we have no evidence of one.