This is where snapping comes in. You can make a fullscreen window that is made up of two applications. Really it just comes down to never fusing with your windows once you have them set up to your liking. Once everything is either fullscreen or in its corner of a virtual desktop you should never be changing how your windows work. Nothing should ever be hidden behind anything else, if it is it's time to make a new virtual desktop for it.