One thing I can say as a Charizard is that I usually end up doing the worst against Fox when I'm succombing to his pressure and holding my shield or attempting to jab. Charizard's moves for the most part have great start-up but terrible ending lag, so if you can either pressure Charizard into whiffing or bait him into a risky move (like grab, jab, dtilt, etc), you can usually get some good legwork going on him. Also, Charizard's aerials tend to be unsafe on shield, as far as I can tell. You want to keep Charizard above you, if at all possible.
A friend of mine who always plays fox has a habit of, when edgeguarding, jumping off the ledge to shine and snipe my jumps and glide. If Charizard goes into a glide, he sacrifices all his jumps, so if you can knock him away at that point, it's pretty much game over.
As for mixing up recoveries, depending on how the Charizard attempts to edgeguard you, it's often favorable to up B instead of side B onto the ledge. Aside from that, sweetspotting the ledge is definitely your friend, though it can be a little tricky with Fox's up B. My friend also does some fancy tricks on stages with defined walls off the edge, where he'll wall-jump and side B onto the stage. Give that a shot to mix it up.