The way we currently prevent cross-script inheritance is by listing certain language-script combinations (typically not the default script for the language per likelySubtags) as having the explicit parent root in supplementalData.xml:
I think several more locales should be added there, based on:
The locale data currently available in the common, seed, and exemplars directories
The primary and alternate scripts for languages per likelySubtags
A consideration of which languages are often transliterated to Latn script: ar el he hi ja ru sa yi zh
The proposal is to add the following:
A. Tier 1, alternate scripts (based on data in likelySubtags or exemplars) for languages for which we have a locale in common or seed
B. Tier 2, alternate scripts (for transliteration) for languages for which we have a locale in common or seed:
C. A third possibility would be alternate scripts based on data in likelySubtags or exemplars for languages for which we only have data in likelySubtags and possibly exemplars.
Here are the details for A and B. Note that zh has some special issues with zh_Bopo and zh_Hanb; Bopo and Want are both subsets of Hanb, so fallback across scripts is reasonable here.
Here are the details for C.