> Sounds like you have a really hacked up system there
Some people would call this 'a system that's actually being used to do something'.
Don't blame users unless it's clear they are doing something egregious with the system. Installing a different Python version shouldn't break installers, but here we are.
Ubuntu should have taken a page from CoreOS, NixOS and even Arch. CoreOS with their immutable system partitions (and two of them so it can revert to a good one if the current can't boot). NixOS with the immutable packages (and the split between user and system packages). And even Arch with its release model.
Sometimes you have to 'hack your system' to add a new apt source to try to get your GPU working with OpenCL, or you have to modify some config file on /etc to get something else working. Or whatever the use-case might be. Should that break upgrades then? Ubuntu really doesn't provide any guidance or utilities to help with this.
At least figure out a way to install a known sane system configuration, even if it breaks the user's customization. Having a separate system partition by default would actually help a little.
Even Windows allow you to snapshot and rollback changes. Something that Ubuntu users have to – guess what – "hack the system" to get.