This is definitely a fair point. So far, we've found it to work well by keeping our packages fairly well organized.
A simpler solution might be to put your custom modules in node_modules (without symlinking) and then commit those to your source tree.
The main point that I wanted to get across was that it's worth structuring your packages in such a way that makes it easy for developers to write new modules without using a lot of relative paths in the file system. Node does this work already, so I like to take advantage of it.