To be honest, I think where Charizard is is completely fine. It's outclassed so much by Mega Blaziken that there's almost no incentive whatsoever to use it as Hack said. To answer your question (not really question IMO, just mindless bitching at Hack.) about why we choose to rank the bad mons, you need to realize that just because a mon is outclassed by something doesn't mean it can't still have a niche. Mega Blaze makes Zard X look like complete trash, but Zard X has a niche of performing a bit better on Web teams, as well as hitting Giratina with STAB Dragon Claw/Outrage so that your opponent can't just whip out Giratina like it's their dick all the time against you like they would against Blaze. This is why Charizard fits the C Rank description perfectly.You're forgetting something here bro, I'm not arguing Charizard for A rank, I'm just arguing it for B- or like Piexplode said move some of the C+ mons down such as Arceus-Fire and Gyarados seriously what does this even KO at +1?. Charizard X still has some perks over Blaziken such as being able to take priority better plus the stuff you mentioned. Probably dumb to mention but Charizard *can* be an emergency check to Xerneas. Before Mega evolving it can actually take a +2 moonblast from Modest Xerneas at full health and hit it back with a Flare Blitz dealing 38-45% which plus the hit Xerneas took during setting up should be enough to kill if not you can pick it off with Extremespeed or other priority move. Stealth Rock is annoying but with Defog everywhere is not that big of a problem as you might think.
With that logic why even rank all the C rank and down mons? if there's better Pokemon and @Canman92 this actually has nothing to do with fanboyism what a weak counter argument if you want to talk about favorites, I think Rayquaza is the coolest looking Dragon type.
C Rank
Reserved for Pokemon with viable offensive or defensive capability. They have certain niches or utility that allow them to perform in specific roles. Reliant on fairly large amounts of team support to function and minimize their inherent flaws. They may also suffer significantly from opportunity cost to the point of being mostly outclassed.
Now, compare with the B Rank description.
B Rank
Reserved for Pokemon with large offensive or defensive capability. They are designed to serve specific roles for a team and may offer valuable utility. They often need certain amounts of support and/or suffer to a degree from opportunity cost.
Since everyone acknowledges that Zard is mostly outclassed by Blaziken, this means that:
1.) Zard can stay where he is.
2.) The solution is to move down Arc-Fire and Gyarados, because correct me if I'm wrong, Gyarados has no niche outside of making your opponent throw the match due to them laughing to death. Arc-Fire sucks outside of being a good GeoXern check.