link nested collections
(Not a full answer but comments have limited characters and i though what i had to say might still be useful)
I (also) don't understand the problem exactly, but it seems to me part of it is that you see collections as the equivalent of sub assemblies in engineering software like for instance Solidworks or NX.
I have no experience with Rhino but i often import stuff from .step files or big projects (thousands of parts) made in programs like Solidworks. But i build assembly hierarchy without collections. I do use collections, for they are handy in various ways, but I use an Empty (or often a faceless circle mesh) as the root of my sub assemblies and parent the parts or objects to that. I'm not sure you can use collections in that way.
I don't like linking objects, because then you can't edit them in the main scene. But I understand linking would be beneficial because then you could have various team-members work on different parts, objects, or sub assemblies in separate files on a network. Instead of needing team-members to open the same main file that holds the entire project on a network, which usually is impossible.
I advice to figure out a workflow where (if you use them at all) collections are only in the main file/scene, and use normal hierarchy for everything else. But of course it depends on how you want to work exactly and your personal preferences.
If I'm in the right ballpark and you want to elaborate on what you want to achieve (or perhaps provide a link to the &quot;reasonably good resource on how to effectively use links&quot;) I'd be happy to comment on it.
Alternatively you could look into how the BlenderKit Asset Library add-on works (ships with Blender). I believe it also uses collections to link geometry to a main scene. though I'm not sure how it works exactly or if something like that would fit your needs.
Edit:
The BlenderKit Asset Library works with Instancing of collections with Empties. But ofcourese you can do that yourself also. Maybe that might be helpful.
Press Shift + A, and choose Empty &gt; Plain Axis. Then in the Properties window click the Object Properties tab and under Instancing click Collection. Here you can assign a collection to the empty. If you parent an empty with a collection you can have a hierarchy with collections, and since the root objects are empties, you can also animate them.