I gave up on stow in favor of simply --prefix=/local/package-1.0.0 and adding that bin/ to $PATH in user-specific .zshenv. But this may only make sense as the packages I compile from source usually aren't dependencies for other packages. (Although if they were, I envision myself simply adding to LD_LIBRARY_PATH etc).
It's nice to have one (or a few) directory-hierarchies, (such as /usr/local) -- as you then can set LD_LIBRARY_PATH, MAN_PATH and PATH once, and have (most) everything just work. I find that the stuff that "only" needs to be added to path might as well just be symlinked to a "bin"-directory somewhere already in path.
That said, I don't advocate doing things that are more complex than what is actually needed. For me xstow strikes a good balance.