I use Divvy for this sort of window management, it was the one that closest fit my mental model. It uses shortcuts to allow changing window size and position and it allows you to resize to a grid using the mouse very quickly.
You can define system wide shortcuts, or shortcuts which are only available when the Divvy window is open.
There are a lot of alternatives to Divvy, most are also commercial, but ShiftIt is free and open source, but with a more limited set of features.
What it does do is allow you to have a system wide shortcut for putting the window into a corner or vertical or horizontal halves or full screen.
The source is available on github, but if you aren't comfortable compiling the code yourself, or dont want to install the 4GB of Xcode needed to do so, I have uploaded my compiled version of ShiftIt to filedropper.com.
(All the usual warnings and none of the guarantees apply. I have not tested this code, apart from running it for a few days to try it out for personal use. Please be careful when downloading software from random people on the internet. Look both ways when crossing the road.)