Why does moving files around still break references?

I have been using Unreal Engine 4 since before it was completely free, and in all that time the thing that has come back to bite me over and over is redirectors. I move a few files around, fix up redirectors. Everything looks fine, until I save all, close the project, and re-open it. Now I have 70 errors about files not being found, and types not existing. Blueprint nodes completely broken. So my question is this: Is there a reason why this cannot be done better? Unreal Engine 4 has been out for several years, and I still feel like I’m rolling the dice on whether or not I break my entire project when I move files around. I have noticed this is particularly cumbersome when using source control, but even without it everything still breaks occasionally for reasons I have not yet discerned. It is very inconsistent. If there is a trick to getting this to go smoothly I would love to know that as well. This has sucked far too many hours out of my life.