My son is playing soccer on a U8 team, which means the kids are six or seven at the start of the year. It's a fun league, which means "we don't keep score." Of course, the kids keep score, and it's highly disheartening for my kids, because we're the team that always loses. (Actually, there's another team in our situation, and games with that team are actually interesting. We even won one.)
I know it really bugs my kids that we lose all the time. I fear some of them are getting turned off soccer. I bet we're not the only league with badly uneven teams. I think part of the solution is to keep score, and for the league organizers to use the information to balance out the teams over the years. Here's how.
Record every game score for the season. Ideally, also record which players actually showed up at each game. That would be pretty easy for the coach or manager to do. When it comes time to make the teams next year, give all the kids who have history in the league one point for each goal their team scored. Put the kids in order by points and assign the kids to teams on a round robin basis. If a coach or parent asks that two kids play on the same team, then the player moved to make room has to have the same number or more points than the requested player (to eliminate incentives to stacking).
Of course this isn't going to be perfect. You don't know about new players who come along. It won't work for the first year the kids play. But it doesn't have to be perfect. Part of sports is to learn to win and lose graciously. But kids have to be doing both. It doesn't do any good to teach some kids that the deck is stacked against them and they'll never win.