> I've been installing proprietary software into /opt for years and on the Free Software front built and installed software as complex as all of KDE's products into any number of prefixes.
KDE uses a useful build system (CMake). Not every project does, unfortunately :( . These are the ones that tend to blow up outside of /usr. If DESTDIR and PREFIX are expanded, there's a hope for things working. I've come across some which don't even have install rules. Loads of fun.
Personally, I prefer $HOME/misc/root/$project[-$version][-$description] for local builds (vim, git, tmux, boost, cmake, etc.) that I use for testing or upgrading when I'm too lazy to spin local RPMs.
> e.g. properly expanding $XDG_DATA_DIRS and friends.
git finally does this in the latest version :) . One less ~/.* file. Lots more to go though :/ . I wish $XDG_RUNTIME_DIR would get some more traction though to avoid /tmp pollution (tmux and uzbl mainly; I have a partial patch somewhere for uzbl).