It sounds like a large part of the problem is how important a subreddit name is to popularity. If a subreddit has a good obvious name it is going to collect members and activity even if the mods are awful. Competing subreddits will struggle to attract new users as they need some different less-obvious name.
I wonder if this could be approached in a way that new subreddits didn't have this disadvantage so that they could compete on mod quality and slowly grow / migrate the community.
Of course there are advantages to short unique names like readable links. But it seems that this false authority may not be worth the downsides.
That's an interesting idea!
Perhaps intentionally using uuids in the URL instead of slugs and improving the recommendation/search algo (e.g take into account the average post length or cited sources in the ranking) would solve this issue. Main challenge might still be that its very hard to move an existing user base if the moderator(s) blocks all posts about other communities.
Perhaps a more democratic moderation system or a system wide rule that disallows moderators from blocking posts about other (competing) subs would work?