I had the same problem after switching away from Compiz, as I have not found a real solution and I did not want to use single scripts, I forked a project, which nearly had the features which I needed.
You can find it under: https://github.com/gillesB/azulejo
It is not perfect yet, multiple screen support is missing, but I use it everyday. It should also be usable in other desktop environments as it is based on EWMH (1). For example I used it for a while with Mate and I tested it shortly with Cinnamon.
1) http://en.wikipedia.org/wiki/EWMH
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,500,500
. See man wmctrl.