Yesterday, I set up a game of capture the flag. The teams were arranged twice. Both times, someone was complaining that the game was unfair because team A had more older kids and team B had more younger kids. I was getting annoyed with their complaining. So, I completely took over as far as organizing teams went. Both sides lost their option to choose their own teams.
I walked to one location and said "all the kindergartners line up here." I walked about three steps to the right and said "all the first graders line up here." I did that all the way until third grade. There were about three kindergartners, two first graders, ten second graders, and one third grader. I started from the kindergartners. I sent one to team A, one to team B, and I alternated between team A and B in assigning students to teams. After I did that, both teams complained a lot less. I took that to be a measure of my success.
It seems pretty straight forward, but I hadn't thought about it at the time. Anyway, in case you ever find yourself organizing a game among students who are in different grades, this is a simple way to make the game as close to fair as possible (or as close as I can think of anyway).