https://github.com/jakehilborn/displayplacer made this much better for me. I arranged my monitors once, saved a script with displayplacer, and if they mess up again, I just run the script.
I’ve found that plugging them in in the same order each time helps, but I doubt that’s a universal cure.