That being said, it can be solidly checked with proper scouting. Once you know it's set, you can respond in a variety of ways.
This is easier said than done, however. Due to Charizard's multiple sets and fantastic coverage, it's not an easy task to simply scout what it's going to do. Something is going to be damaged if not killed in the process. And even if you do end up discovering the kind of set it's running, I don't think you can safely assume that you can now safely respond to it in a variety of ways; it might even be too late, actually, if you make the wrong scouting move. It's hard to carry numerous responses to all of Choice Scarf, Choice Specs, and Expert Belt (and to an extent Swords Dance) because it's essentially impossible, Charizard barely has surefire switch-ins to begin with.
If specs, it can easily be revenge killed by essentially any scarfer in the metagame, and with stealth rocks it makes it difficult to switch in and out for zard.
This is true, but you have to keep in mind that the Charizard user is free to switch out as well and come back in to prey on something slower than it later, which is often the case with its high Speed. Stealth Rock definitely limits its switch-ins, but Charizard isn't a Pokemon you use brutally, you need to conserve it and evaluate when it's a good time to bring it out. This is assuming Stealth Rock is set up too, because Charizard is often paired with Stealth Rock deterrents that can keep the hazard off early-game. This is enough for Charizard to start seriously punching holes early-game as you struggle to cope with its offensive presence.
If scarf, you should be able to send out something to tank the move the opponent is locked into, as simply but scarfzard's attacks aren't that powerful, even a blaze range fire blast can be easily tanked by any resistance (which is very common in the form of water and rock types).
Yes but ScarfZard is typically switched in when the opposition is vulnerable to a late-game clean. You're obviously not going to bring it in early-game and start hitting things with it (even though you can), but it's better waiting in the wings and unleashing it when it's necessary. It's also a fairly good revenge killer since it's hard to outspeed. Blaze Fire Blast still hits insanely hard, even against Pokemon that resist it bar the exceptionally bulky ones. For example:
252 SpA Blaze Charizard Fire Blast vs. 252 HP / 4 SpD Golem: 168-198 (46.1 - 54.3%) -- 53.1% chance to 2HKO
252 SpA Blaze Charizard Fire Blast vs. 252 HP / 4 SpD Samurott: 158-186 (40.1 - 47.2%) -- guaranteed 3HKO after Leftovers recovery
It's not as easy as it might seem.
SD Zard while unconventional, is probably the hardest to revenge kill, putting even dedicated walls into it's 2HKO range with AcroGem, e.g. Alomomola and Tangela. That being said, it is one of the harder pokemon to set up, due to lack of health upon the switch in as well as weakness to common scarfers and priority, such as aqua jet, ape stone edge, etc.
I'd consider Charizard to have many opportunities to set up. It's really strong at forcing switches because of its coverage and it threatens a ton of Pokemon with its high Speed and offensive prowess. It can take advantage of this fact and set up Swords Dance then. And yes, it can be revenged just as everything else, but you're usually forced to sac something because Primeape and Tauros and the like do not want to be switching into Charizard's attacks. You're also not guaranteed to dispose of it either, unlike with Jynx and Pursuit for example, so it can come back in and kill something again as you try to bring in your revenge killer unscathed.