Short-name alias to "Program Files" already exists, and might be called PROGRA~1.
I tried that. It didn't work well. The path would get expanded at times, and end up in the hands of something that couldn't handle the spaces.
Point is, it does not always work
I can personally attest that using a path other than a subdir of the root always works. None of my dozen installs are directly under the root, and I've installed thousands of modules (PP and XS, ppm and cpan). It's using a path with spaces that causes problems.
which is why they still put it off the root.
Like I said when you first said this, it isn't true. ActivePerl lets you choose where you want to put it. Only Strawberry Perl puts it in the root.