So, imagine for the moment that you have a couple of class_names that extends Resource, designed to work together with some class_name that extends Node.
In your custom node, one thing you aren't allowed to do is export(CustomResource) var your_resource, and have the Inspector allow you to simply click on the field to make a new instance local to the scene in the standard way you would with a built-in resource.
So my rather abstract question is, what are some organizational and functional alternatives / best practices that capture the essential feature of being able to design all the parts separately and then build a (many) self-contained scene(s) from them? Or is there any way to export() a custom type after all?