You're pulling in a 400 megabytes of dependencies the second you touch cross platform GUIs, a library to automatically create and pick the right appdata folder really isn't that inconvenient at this point.
Looking at you, wget and your .hsts-something file.
I've seriously considered writing a system LD_PRELOAD that catches resolved paths and redirects them to a directory of choice.
But I think it would be easier if you instead sent MR to offending projects
software that you can specify the install location for, so it installs a update manager at that location but then always installs the actual programs under the C drive
Microsoft decided at some point people hard drive were plenty big so who cares? Unfortunately SSDs came along and for quite awhile space was quite tight on them!
That's one of the reasons why it had a space. If you wanted to stop using the DOS APIs and get off of `PROGRA~1`, you need to handle spaces properly. Having a bunch of the standard paths (see also `My Documents`) include spaces meant that software vendors shouldn't have been able to get away with using Windows filename APIs without supporting filenames with spaces - everything would obviously break almost instantly.
Doing that, Microsoft made sure that there was no reasonable way for an ISV to claim that they either forgot to test that use-case, or weren't going to support it, when every Windows system in existence relied so heavily on paths with spaces.
Sincerely: Hell no. Nearly everything (mostly Electron) nowadays wants to dump everything into %appdata% and it is infuriating.
I can never have enough space on C: anymore. I finally relented and bought and allocated an entire 2TB drive to just to C: on my newest machine because of "%appdata% All The Things" nonsense. C: otherwise doesn't need anymore than 100GB to house Windows and a few other system-related odds and ends.
%appdata% isn't even where All The Things(tm) should be going by default anyway, %appdata% is for storing user-specific program configuration data only. The Windows-provided default directory for program installations is C:\Program Files, and files resulting from program use should go in the program's own install directory or into an appropriate directory under the user directory (eg: My Documents) by default.
Windows allows full access to the file system and all the benefits that entails for a reason. Just ask me where I want the damn thing installed/saved rather than just shitting all over %appdata%.
Also, this is why the registry was invented, but as we all know, that's a "bad idea" (because it's an old idea, which makes it bad, because being old makes ideas badder).
In all reality, very OS has their quirks, and I see this _all_the_time_in_Windows_!