There is no "one" solution for assembly crashes. When I have a problem, I usually trouble shoot by opening sub-assemblies to see if there are any specific sub-assemblies or parts with issues.
If not, then I open the top level using simplifed reps with No components and then start adding components to the rep to see if I can understand where it is crashing.
I usually take time to fix regeneration problems, reference errors, other model problems that show up also. These can have a major affect on model performance.
If your computer isn't a workstation with a good graphics card and a reasonable amount of memory, you may not be able to open large assemblies without a good plan using simplified reps. You can check you ram usage while opening a large assembly by using task manager and monitoring your ram usage to see if you are maxing out your ram.