Sadly, most of the software I use already has a link in the list to an issue someone made about XDG support and often developers don't care, actively choose not to respect the user's preferences (snap, for one) or don't want to change the location out of fear of breaking compatibility. Those MRs would probably become forks in practice.
I've seriously considered writing a system LD_PRELOAD that catches resolved paths and redirects them to a directory of choice.