That's actually still simple to deal with if you prepare right.
What I do with unpackaged s/w is manage it with GNU Stow. I've got a directory /usr/local/stow, and if I want to compile foo v2.05 I'll extract its source, say "./configure --prefix=/usr/local/stow/foo-2.05 && sudo make install", then "cd /usr/local/stow" and "sudo stow foo-2.05". Now I've got the program installed into the stow folder but with symlinks to /usr/local/bin and elsewhere in the /usr/local hierarchy.
You have to use a separate partition mounted to /usr/local to make sure this doesn't get blown away by a distro's installer, of course.