My background includes writing an IC Layout editor that was schematically driven. Your discussion is absolutely on-target. That said, LibrePCB has insufficient libraries of devices (symbolic or physical) and I’ve had to create these on my own as I expect others do too. There are no good conversions from libraries of other tools that I know of. This makes the problem much bigger. I believe the right way to solve this is to have libraries integrated with source code control. A layer abstracting the interface to Git, Perforce, etc. would be needed and, to start, one implementation of a specific source code control interface. With that, one could reference a library symbol, or device at a revision level. A user selects the revision (defaulting to the newest stable version) and may change it later. A new revision choice would propagate the changes to the schematic or board and, in some cases, break the schematic or board layout. That’s OK, it would be upon a user’s request for that specific schematic or board layout only. Other schematics and boards would remain pointing to the library versions they used. If done, as software developers say, atomically, one could do and undo such a change in the LibrePCB interface. This is tried and true for software development and I’m not aware of a reason it could not apply here. It is a lot of development work, however.
I remember some discussion of Git in the documentation, but from what I can see the support for the above notions does not exist. Perhaps the developers will implement something like the above.
Thank you for your help it has saved me time knowing what I can and cannot do!