If a project declares repositories then, by default, repositories declared by the project will override whatever is declared in settings. Perhaps you could have a baseline of repos in settings and then override in the special projects?
If that’s not enough control, then extracting the repository configuration logic into a plugin(s) or precompiled script plugin(s) should give you enough control to centrally manage the repos in whatever manner required. These plugins do not need to be separate projects and can be embedded using buildSrc or a composite build.