Just for a counterpoint, I actually do hope I play that "same group of top opponents". Facing random guild #1042 just because they're different doesn't really appeal to me. In general, the top guilds are more active, more competitive, and more likely to have other forum members for some friendly rivalries and chatter. As for your analogy, yes, sports LEAGUES have the top face the bottom. But most sports leagues are limited to a small number of teams, and they use multiple leagues to separate teams of different levels, so your analogy is a bit off the mark. If you look closer at the sports league model, they'll have a limited number of teams in the "majors" (or "premier") pool of opponents you could be paired with, and then additional levels like "AAA" or "AA" (or "First Division" and "Second Division").
So following that pattern, and having guilds put in groups and can play anybody in their group, that would make sense to me. For example, assuming a group size of 30, #1 could face #30 (the lowest ranked opponent in the group) but not #2000, since they're simply not at the same level (group) as the others. Also, since these rankings (and thus the groups/pools) would change each week, it would ensure that the most active/competitive teams would get to play with each other. Whether the groups should be 20 or 50 or 200 teams is all just details/tweaking. Overall I would consider that sort of system a benefit rather than a problem like you indicate. But I'd love a dev comment on this too