I'm not sure how popular it is, but I believe in Ash topping. Not in the cookie-cutter "seme/uke" way, since I don't truly believe in that dynamic, but. Gary's usually the one making all of the moves, taking care of Ash when he's sick, playing the "prince" to the "princess" and that's all well and good. I can see where it comes from, as Gary is always ahead of Ash in the series. Always catching more pokémon, winning more battles, and now he's even pretty much got a career. Gary succeeds where Ash doesn't, in some ways.
But when it comes to their personalities, it's different. I really saw this in Ill-Will Hunting (the DP episode with the Shieldon). That episode really portrayed how reckless Ash was, and how Gary really wasn't. Like during the battle early in the episode, Ash and Gary were battling against Hunter J's minions together, and Gary cautioned that they shouldn't battle too hard, they'll hurt the Shieldon. Or "the Shieldon are safe, that's all that matters" ... things like that. Gary was constantly telling Ash to calm down and think things through, but Ash was always pushing ahead anyway.
God I'm rambling. D: GETTING TO THE POINT. So I mean, yeah, Gary's more mature than Ash in that respect. But Ash is rough around the edges, reckless, fiery, but when he has control over those feelings, he really excels. He could really be that "top" in their relationship. Not all of the time, of course, but more often than I think the fandom seems to accept. And I always thought it would be bad ass if Ash was the one saving Gary for once.
Oh, and Gary didn't really win in that episode. Near the end, Ash said something like, "Aren't you being reckless, Gary?" And Gary's reply was something more like, "Yeah, well, I guess you really can learn something."