Some of this problem is caused by Windows 10, video drivers and things falling asleep. It impacts a lot of apps. When some monitors sleep they completely power off and when they wake Windows 10 does the whole “you’ve connected a device” check. This can occur in a different order each time across monitors and during the process your PC will pass through several different monitor configurations as each connects. As the monitor configurations change so do screen positions that are stored by the windows manager (e.g. if you right monitor turns on first its left side will be 0 pixels, that should really be on the left monitor which it will once this process is over). Trouble is your Apps and the Windows 10 window manager are working hard to draw thing where they were, its just that where they were has/is changed. hence your Windows all end up in weird places after everything has woken up and monitors connected.
A solution which I used very successfully on my 4 monitor setup is to use a Display Manager application (in my case I use Display Fusion but there are others). I set up a Trigger event which after 9 minutes of idle time saves all current window positions. At 10 minutes my monitors sleep and the LOCK screen is activated (in screen saver click lock the screen). Then when I wake up the PC to use it again, I UNLOCK it and a Trigger event on unlock waits for 5 seconds (enough time for all 4 monitors to reconnect in any order) and then it Restores the last saved window positions - and all my windows go back to where I left them.
Only thing I have found is to not touch the windows whilst until the 5 second period has elapsed.
I’ve not tried this with anyone else before but hope it helps at least some of your challenges.
Alternately, don’t let the PC or monitors sleep