I've been tracking this thread for eternity expecting that someone may know a solution or work around. As of now, I don't see one and I don't ever expect to see one because 1) it isn't possible to stop it with the way that Microsoft Windows' code is written
and 2) Microsoft obviously doesn't care about its customers.
I can say; however, that I know why it affects me so often. I think a few others have stated this in the past as well. If you use multiple screens with your laptop, whenever you disconnect from the multiple screens, Microsoft wasn't prepared for what to
do with the icon because the desktop area has now changed... so it defaults back to the left side (scrambled and butchered).
I've noticed that sometimes (when I return to my home and reconnect to the screens) Microsoft will actually put them back where they were before I left. By that time, I've already reconfigured them to where I wanted them (after getting to my destination),
so upon returning home, it sees the new screen configuration and defaults them back to the left again.
It seems to me that there would be simple code to address this, but Microsoft just doesn't care because... well, they are Microsoft... and you are little old you. It's a "where else are you going to go, sucker?" attitude and it shows a company that just
doesn't care about its customers.
Suck it up cupcakes, we're stuck with it and there's not a darned thing you'll be able to do about it. :(