Putting the .signalk (configuration files) on the persistent partition makes sense. Putting all the modules does not. Neither loading all into RAM.
What needs to be done is package individual signalk modules into individual .tcz files, each of them putting its files into /usr/local/lib/node_modules... something. Same as it is done with python site-packages modules for example.
But, as I said, dependency search is node.js is broken by the usage of symbolic links. This is the thing that needs to be addressed, by modifying node.js code. As I never touched node.js I don't know if this is obvious, or hard.
As a quick solution, I would have gone the same path as kagouraki: "I will make a tcz with node.js AND the all the modules required for signalk."