I use gridmove when working on Windows. A little fussy to set up new templates, but allows complete control over window placement. Like others, I use a different set up depending on what I'm working on. My large main monitor is often split with my IDE taking up 2/3 of the screen and my documentation on the other 1/3.
When working on a laptop with a smaller screen, I often use virtual desktops and split my windows among them. I find it faster to switch between apps that way, knowing exactly where they are in relation to my current screen, compared to alt tabbing through a bunch of windows.