A workaround to the "symlink farm" method is making use of "--config=PATH" options for most apps and setting up aliases.
Conforming to the XDG base dir standard as much as possible makes sense but can get painful sometimes (e.g. vim: http://tlvince.com/2011/02/03/vim-respect-xdg/).