If I'm trying to swim upstream against Windows, I will often make a c:\apps directory, and install MSVC there (and put Emacs there as well). However, lately I've kind of given up on that, and just let things install to their default locations, which tends to be in the shell-unfriendly "c:\program files (x86)" directory :(
However, one nice trick you can do if you want is to use subst again to map that directory too:
subst p: "c:\program files (x86)"
That takes some of the annoyance out of it, but of course, many programs still pick installation names that are full of spaces.
Really, there's no great answer. It's a very annoying aspect of developing on Windows.