I’ve had (still have) startup issues too. See my post from a while ago: Mongod "out of memory" on startup
My “solution” for this is (1) to have servers with way more RAM than I need for normal operation, (2) Increase vm.swappiness before every restart, and (3) offload inactive data to static .bson files. These workarounds allow me to more-or-less function.
The real solution is more long term, which is to either completely restructure my data model to use fewer collections, or move away from Mongo completely; whichever seems like less work.
For comparison, my database size on disk is only about 20GB, but I have ~20k collections. So syncing across network isn’t as big a problem as running out of RAM. No doubt, your trade-offs are different.