Essentially, they want the opposite of each other. Charizard would love to be able to gain stage control, so that he can space Roy out with his attacks. He has plenty of "Get off me!" options like Rock Smash, jab, F-Tilt/D-Tilt for when they're not quite in his face... Once his set-up has worked, he can start being aggressive with his aerials like F-Air and N-Air to pressure the enemy.
Roy, as far as I understand, likes to get as close as possible to deal the maximum amount of damage. He'll pressure you, force you back to the edge, and generally make it harder to hit him with options like his N-Air and F-Air. Double-Edge Dance can give him a fair bit of range on you, his counter can definitely hurt if you aren't careful, and he's not slow on the ground at all, either. He can afford to be aggressive, but I've noticed that some like to observe how you react and play a little more defensively as they do.
Try to be careful with your N-Air, as it can easily be countered. Yes, it doesn't deal much damage, but any bit of the stage you give to Roy, any inch, isn't a good thing. Try and avoid grabs if you can because of this, either by spotdodging or jabbing. Remember that your grab range is better than his, and that consequently, you can shield grab him; Remember, though, that he's very fast and could simply roll behind you to grab you instead.
If I'm correct, I think the start-up of Flare Blade (his neutral-B) could be interrupted by Flare Blitz. Fitting if that's true... I've found that it isn't because of Roy's speed that I find it difficult to kill him, it's because of his range. Sure, he enjoys being up close... But his attacks have some serious range to them for such a character, something you have to know to successfully fight him. As such, you need to use your spacing moves primarily, like your N-Air, F-Tilt, D-Tilt, ect. I think N-Air would be particularly helpful because of the sweetspot and that it outranges his aerials, I believe. Make sure you space yourself properly, as you could be flung off the ledge if you don't; His aerials have similar range to N-Air, but you have the advantage of being able to fastfall it and cover him diagonally.
Down-Smash is particularly useful in this match-up, at least for me. If you get a good read off, or happen to be able to punish his roll, you can actually kill Roy at around 100% with an uncharged one. Granted, this happened to me once I had rage, but still; In this match-up at least, it seems more practical than U-Smash, as even if it doesn't kill, it often forces him to recover from the stage. If you see the opportunity, though, go for it.
When you're landing, try and be extremely careful. While his U-Smash seems to have fairly limited range, it's not to be underestimated at all. First of all, it's a multi-hitter... Second of all, the final hit does 17% damage... And third, it actually draws you in toward Roy on the ground, from a fair distance away. Even if you only get hit by that very last one? You could very well die. Respect Roy's U-Smash despite it's range. I could see it being deadly on platform stages.
While I've been landing, I've seen Roy's use Blazer (their Up-B) on me quite often. Not only does it seem to sometimes act as a kill move as well as a recovery, like Doctor Mario's Up-B, it can actually be angled diagonally to allow for a less predictable recovery. I wouldn't recommend trying to edgeguard Roy with anything but Flamethrower or to the side of him, as it seems too risky. On the plus side, it doesn't seem to cover too massive a distance horizontally or vertically, so he potentially be gimped.
Part of me thinks that some Roy's are going to try to condition you into shielding, like you would for Marth and Lucina to nab a shield breaker, except for grabs. Whenever he pulls off a Double-Edge Dance, be patient and either shield or back up (do not drop your shield to back up, if you're caught in it, tough it out), using flamethrower to disrupt the animation. Also works to get him out of Flare Blade. This seems to also be a form of pressure as well as a ranged option for him.
In my fights with Roy's, they've often been stressful; Don't get stressed. This makes it harder for you to concentrate on walling them out, and much easier for them to exploit openings you create for yourself. Don't panic Rock Smash, or do a random Flare Blitz as he's charging at you. You need to think out your options. As a heavy, particularly Charizard, you can get the luxury to
play more defensively and scan your opponent, judge what he's going to do, and punish it if you happen to be correct more than other characters; You can sponge hits if a strategy of yours fails, and potentially adapt. Against a character like Roy who's like a volcano about to burst if you let him, you have to think about how you can counter his offense with a solid defense.
While these are just my observations, to be honest, and they're not professional, I think Charizard potentially has one of the better match-ups against Roy in terms of heavy characters. He's fast enough to keep up, can potentially space him out and push him back if he plays well, and can play aggressively if the time presents itself.
Also, none of the above takes platform stages into account, especially since I only happen to have the 3DS version of the game (with different stages: Thank you, Nintendo) and FG experience on top of that.