Just a couple thoughts that I have on this subject...
There are only a handful of "mega" gyms in this country. If you are a small gym in Texas, GA, FL, NJ, NC or Cali, you might have a problem. But the vast majority of gyms don't have a "mega" gym anywhere near driving distance for their athletes. So staying at Gym A that only has 75-100 athletes is their only choice. And Gym A really isn't going to get much bigger. Not because they aren't good at what they do, but probably more so because they aren't located near a big city.
Also, while I do see the point people are trying to make about other "club" sports not having divisions based on size of program, I don't think you can compare that to cheer. There is no other sport under the sun that is set up like cheer, where you need no less than 15-20 kids to be competitive in any division and you have ZERO alternates or second stringers sitting on the bench ready to go in when needed. In soccer, basketball, baseball, volleyball...you need 5-10 kids max to play a game. And if any one of those 5-10 is injured or sick, you have another set of kids sitting on the sidelines ready to take their place. Cheer doesn't offer that opportunity. You have to have the best 20-36 kids in your program to compete at worlds. When Gym A has to choose 20 out of 75 and Gym B gets to choose 20 out of 600, there is NO WAY you can tell me that is even remotely a fair playing field. I know my opinion may be in the minority, but I love the way school sports (high school and college) have divisions based on size of school. I think it's fair.
ETA - And I don't think winning Division 1A, 2A, 3A, 4A or 5A state championships in high school is any less honorable than winning 6A. They won against the best of the best for their size. All star cheer is no different.