Not sure how much each of the steps contributes to the total reduction of opening time but some routine we have in an office is this:
1. Prune scene, inspect with SiNi and delete any missing plugins / animation layers etc.
2. Make sure you don't have many external paths in your 3ds max settings. There are different views on this but generally the more paths you have on Customize > Configure Project paths, the longer each file will load as 3ds max will check each folder before opening the file to see if it can find missing bitmaps there. This is even more annoying when opening old files, as paths are usually lost so max tries to scan each folder, and there might not even be anything project related there. Sometimes this can even crash the file so better practise is to have few paths in there and later relink missing bitmaps manually, or with some scripts.
3. As others have mentioned, xrefs play a huge role too. There used to be a script that disables xrefs when opening a file (can't find it right now), but I found another script that could also be useful - it disable all "missing this and that" pop-ups when opening the file. This is extremely frustrating when opening large files again, as you might forget about opening a large file for a while and when you press on it you suddenly realise it was waiting for you to press SKIP. You can find it here -
https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/How-to-suppress-Waning-dialogs-when-opening-a-scene-in-3ds-Max.html4. And lastly of course, if you work over network it's highly recommended to copy file locally, do what you got to do and then copy it back to the server. This can cause massive lag depending on your network setup, file paths etc. I sometimes forget that I have Everything running in the background, scanning all of our server and it just freezes the server completely if it needs to load anything.
5. Final advice, after opening an old scene I recommend merging everything into a new file, doing some quick cleaning and re-saving it. Sometimes, depending on how old some projects are, because of many new Corona / 3ds Max versions old things tend to break even though nothing got changed. So this merging procedure allows you to double-check if everything is alright (merging in parts of course) and generally is a good time to setup your scene nice and clean.
Hope that helps.