In a world where submodules worked (side note: We use PlasticSCM which has xlinks [0] which are substantially better than submodules, but Plastic itself has it's own set of problems), you could have each "subrepo" as an independent repo, and then have a monorepo comprised entirely of submodules.
If submodules worked.
[0] https://www.plasticscm.com/documentation/xlinks/plastic-scm-...