However, there are a couple of issues I have encountered while maintaining such a structure:
1) There is no way to make the language copies move in tandem. If I were to relocate one of the language copies on my tree structure, I have to manually perform this same relocation to the n number of language copies I may have so AEM can still keep the language copy relationship amongst those assets.
In a broader sense, there isn't anything that can keep the language structure integrity. You are always free to reorganize the structure under each of the language folders as you wish. Without this language copy structure integrity AEM loses track of which assets have language copies and it makes the effort to manage the n number of language copies grow linearly (it grows every time you add a new language copy).
2) Ideally when I grant read access to an asset, this ACL should apply to the asset and all its associated copies, since after all, these are supposed to be copies and not entirely unrelated separate assets. Instead by having a language based structure, the effort to manage the ACLs associated with assets also grows in a linear fashion. I have to manually go and set ACLs on each of the language copies of an asset. Since as mentioned above, there isn't anything to keep the language structure integrity, assets can move and therefore you can end up with assets whose language copies have different ACLs.
Are there any data structure models or any management tools that will allow me to circumvent these issues? Ideally I would like to be able to reconcile the language-based structure proposed in the best practices with reasonable and efficient language structure integrity management and ACL management.
One of the ideas that seems to kind of solve this issue is to abandon the language based structure and store the multilingual metadata under the same asset, but as you guys know, since the language based structure is the proposed best practice for multilingual assets, a customization such as this might come with the high price of not being able to inherit functionality included in future AEM releases that relies on there being distinct copies for each of the asset languages.
I really appreciate you guys' ideas and thoughts on this.