I have no idea about answers to your question, and this may not be useful at all to you, but find I am very productive using spectacle[0] for window sizing and multi-monitor window arrangement.
cmd+tab to change applications (like on every OS), but also cmd+~ on macos to change windows within active application (e.x. cycle through all web browser windows)
I don't use multi workspaces at all, so sorry if this comment isn't useful, but thought I would throw it out there just in case.