I believe that this recent release from Ink and Switch implements what I was imagining. Project Cambria: Translate your data with lenses https://www.inkandswitch.com/cambria.html
It can be used for migrating bi-directionally between multiple versions of a schema, so that older clients can consume data in a newer schema - interesting that they propose publishing the schemas at a well known URL.
I think this approach could solve some of the issues around multiple apps reading and writing to the same place. Still leaves the issue of migrating the document locations AFAIK.