HR has to operate within the constraints of the larger organization.
Under normal circumstances, HR tries to get the organization to behave reasonably, and employees to not get too upset about it, during or after their period of employment. The actions of both are actually out of their control, but they push both ways. It is a classic case of responsibility without authority.
If the organization refuses to take HR concerns seriously, then you get the result you see at Uber. The only thing that HR can do is try to get employees to toe the company line. Good HR people will leave. But there is always someone left to do the job. (It is just like death marches in software development. Which also seems to be a problem at Uber.)