Some of us would like to manage our systems, and processes like backups, transfer to a new system, etc., in something resembling an orderly process.
The very concept that architects, designers, &/or programmers think it's OK to just litter our systems with their stuff wherever happens to be convenient to them to code up this afternoon is no better than people just deciding to crap wherever they feel. When I see software doing this, I automatically downgrade them in my assessment of what I want to use going forward.
The simple concept is that there are a few categories of storage used -- these should each be kept separate & independent, under the USER's control.
Why is this a difficult concept?
Program code, system-config, per-user-config, user data. A simple table of the default and user-overridden location for each.
If you as a coder have a problem with this, I really have to wonder what other complexity you will handle badly.
If this simple system is a mess, why would I expect other parts of your system to be any good?