What is this crazy notion with putting files in the user folder?. stop it.
Bulk data should NOT be saved in the user folder.
I run win7 and have a path like this
D:/stuff/megaglestfolderhere/mg_root
and it works perfectly, i can't remember when i last had troubles.(i do currenly have a single notion in the batch file complaining about a missing folder but hey it works).
That works perfectly fine, but so does the user folder. Either one works as the user has full privelleges over the folder. The issue with yours, however, is that unless you manually set permissions, any user can edit your folder. That's fine and dandy if you're the sole user of the computer (like I am), but if you have multiple accounts, that's not so hot. Don't want anyone to mess with your stuff, after all.
Dont mess with programs folders. They have some werid permissions going on with them.
Only install program that have a installer to them.
The program folders have perfectly sane permissions. It's a normal folder in every way, but all users of the system have access to them in differing degrees. All users can normally access the program files, which allows you to install a program once on your computer for all accounts. However, most programs can't necessarily write to the programs folder. An admin account can, but may need permission. Most regular users can't, and thus the program being run by a regular user might not be able to either. So technically, if you're the sole user of your computer, installing the program to the user folder will work fine. If there were multiple accounts, only you would be able to run that program (which has its uses). At any rate, since we don't know if we'll be able to write to program files, that's where appdata comes in. The appdata folder is located within the user folder, so it can store settings for a folder in a way that's unique to each user. As well, the user will always have write access to appdata, but we don't know if the user will always have access to the program files folder. Technically, you can even manually give an account full rights to the program files, but programs will generally persist to use appdata as they don't know any better. Programs that need to save things in a user accessible folder will generally create a new folder in either the user's folder or their documents folder (which is why I really hate where MegaGlest saves the user folder, in AppData; do any MegaGlest devs even use Windows?).
If you make a new folder in the root of your drive, though (or on a new drive, etc), it'll have full permission of everyone unless you manually change that. With a single account, "C:/My Folder" is no different than using the user folder. But with multiple accounts, you just opened your stuff to everyone else using the computer. Sometimes you want that, sometimes you don't. However, some programs also don't work too hot in the limited rights of the program files folder. Sure, they could use appdata, but they want to write to their folder. For example, Eclipse (an IDE) doesn't like being in program files. It works best in either your user folder or a base folder of its own.
So a recap: Program files is good for having a limited program available for all users. It's bad if the program wasn't designed with this in mind. In which case, any base folder of your hard drive works, but all users have full access to it. On the other hand, storing it in the user folder ensures you have full access, but nobody else will (note you can break links if you store a shortcut in a place anyone can access but the target is in a place only you can access; for example, the start menu is stored in two locations, one only you can access and one anyone can access).