I use Spectacle for this, simplest thing I've found so far: https://www.spectacleapp.com
as long as someone does the job correctly
While I think that Apple should have just copied Microsoft's approach (i.e. what Cinch does) the wealth of options for window management means that everybody can find something that they like.
I use BetterSnapTool instead, which seems to have a better collection of settings and solves my (admittedly minor) gripe with Spectacle.