I notice from the examples that hacerse seems to be used (with few exceptions) when the change is under your control or voluntary. This is logical because you are "making yourself" change.
And quedarse means "keep", suggesting that you're stuck with the change permanently!
This seems to help me. I hope it helps other students.