This sucks so hard. It's also quite easy to hit path length limits for certain operations (on windows) when you have this mess there.
It's just that this problem can't be solved entirely by npm. Node has to make changes to it's module loader as well.