I just want to mention that in Unity 2017 there are a couple of new callbacks for this situation:
- AssemblyReloadEvents.beforeAssemblyReload
- AssemblyReloadEvents.afterAssemblyReload
Also, a look at nVidia's Ansel capture system might be inspiring (it is available on the asset store).
Ciao ...