I've just started using git submodules for things like coldspring, mxunit and ValidateThis. I clone them to a non web accessible location in my project and then setup an admin mapping to them.
I'm very new to using submodules, but as I understand it, the advantage is that the submodule is fixed at a chosen revision. Whereas if you symlink to the same code from several parent projects you'll have to be careful that a change made whilst working on one doesn't break another.
Chris