Yea, I'm not saying it's a miracle cure, but in general I have found the following to be useful:
1) Break any functionality possible into a separate npm module - not just a separate file with module.exports. Keep the npm module small and break it up further if it gets too big.
2) This module will be small enough that it is trivial to debug, refactor, test, and document. If it gets to a size where these tasks are hard for any reason and you wish for strong typing or something, the module is too big.
3) Please make sure that you do test and document the module. This will make your team way faster in the future.