The secret to making this more bearable is to install your OS on a partition separate from /home - put home on it's own partition (ideally, different drives).

I did this - and it saved my bacon recently.

I had a 14.04 LTS install, from around the time that that Crunchbang "went away" (just before Bunsen and CB++). At the time, it was my upgrade (completely new system). I decided to make it look as close to CB as I could; in a large part, I was very successful and happy with the result. But when I installed the OS, I decided to put in on an SSD (with certain partitions done as ramfs, so as not to kill the SSD). My /home went on another drive.

All was good and happy, but over time, things became more and more difficult to get newer software, etc. Over the years I really buggered my system; the nearly final blow was doing a "hand-upgrade" to the latest gcc so I could get certain features needed to compile some stuff for a Udacity course I was taking (also got CUDA installed and working for that course as well). Doing this upgrade, though, ended up breaking a portion of the standard "upgrade" process to the point where it would fail if I tried to move to say, 15.04 LTS or similar. Even simple installs of software from the repos would sometimes throw errors in the logs. It was really messed up.

Then one day last year, I decided to try to upgrade my NVidia drivers, and in the process fubar'd the whole system; all I could do was land to a console. Ultimately, I ended up switching over to the FB drivers just to get X back so I could do some research easier with a browser, and to see what I could recover to. I decided that since my /home was still ok - that I would attempt to just upgrade the OS and see what happened pointing /home at the old drive.

So - I bought a new SSD and pulled the old one (so I'd have something to fall back on), and then tried out a variety of distros to see what things had gotten up to in the years I'd been away. I had considered just moving to Bunsen, but as I started to think about things, and research stuff, I decided that I wanted something less compact.

Ultimately, via a series of steps which I won't delve into, I settled on Ubuntu Budgie 18.04 LTS.

The install went perfectly, and it had no problem picking up my old /home partition and such; I ended creating a new user instead of going through the rigamarole of trying to get the old user and such all configured with the login system (I've been there and done that, and it's a damn pain); besides, that also allowed me a "backup" of my old user directory in /home - a good thing, I could move over what I wanted as I needed it or such, and keep the old one around for a while.

It turned out to be a fairly easy and painless upgrade. Since then, I've decided and stuck with the idea of not using any software that isn't from a repo, or .deb file or such. No more compiling from source and wondering where/what I have on my system. Instead, I either do without, or install it on a VM, or build a .deb package myself, or try a snap or appimage, etc. Basically, I'm trying to keep my system clean and "uncontaminated" so I don't fall into this issue of a broken upgrade system again.

Now I need to see if Ubuntu Budgie 19.04 LTS is available yet - when it comes out, it's supposed to have all the newer features of the latest Budgie desktop; I had played with that and the distro (I forget the name), but I didn't like the package manager that distro used; it felt too limiting since most things out there are distributed as .deb or .rpm packages, etc.