A configuration that doesn't change `HOME` or works with symlinks can be found in my answer https://emacs.stackexchange.com/a/20508/934. With this configuration you can change the `user-emacs-directory` by setting an environment variable:

    EMACS_USER_DIRECTORY=~/.emacsenv.d/spacemacs emacs

and this even works with the daemon.