Treating villagers like crap doesn't help at all. It would make sense that it would, but it's all rng. So when someone pings you, it's just random if its to move or not. The more friendship points you have with a villager, the more likely they are to tell you they are moving because higher friend points means more chances they'll ping you. And these pings are all rng.
It's stupid yes, but that's the way it is.