I did an exhaustive comparison of window managers and settled on using Raycast for simple resizing (full screen, center, mid-size centered, 1/2, 1/3, 2/3 left/right) + FlashSpace[1], which implements simple virtual spaces with instant switching.
You can also use Rectangle or Spectacle or others in place of Raycast.
You can also use Rectangle or Spectacle or others in place of Raycast.
Foolproof with zero magic.
[1] https://github.com/wojciech-kulik/FlashSpace