Another shameless plug: Flummox deals with this by eschewing singletons https://github.com/acdlite/flummox. Along with built in promise support, it works really well with react-router's lifecycle methods.
Btw. I would love to see a full example of an isomorphic Flummox application using react-router.
That, combined with the fact that all CommonJS modules are singletons, anyway.