I don't think a poke should have to have offensive capabilities to be top tier, as long as it's defensive capabilities are far ahead from the rest of the pack. While your point about it being near useless on offensive based teams is very true, people building a stalling or defensive team will most likely keep the bird in reserve for pretty much the things you pointed out and a bit more. The reason being that it shuts physical pokemon so much better than any other phazer. Steelix doesn't come close in this regard.
The difference between where we think skarmory should place on tiers is more biased towards our styles of play, assuming your offensive and I'm more defensive. Hypothetically lol, if somehow someone had to win a pokemon battle in order to live and you had no information on except that he also knew how to play, I'd expect both players to build defensive teams that have skarmory, raikou/zapdos, and snorlax as staples. I feel skarm places quite higher above others in its tier like steelix, vaporeon, nidoking, suicunce, and miltank than it does below the big three currently up there. That should at least earn it top tier consideration.
Skarm's a great wall, indeed, but it's not much better than Raikou, Snorlax, and Zapdos, all of which can switch in on not only just about any defensive Pokemon but even some offensive ones (The Electrics can take on Egg decently; Raikou walls Gengar; Lax switches into Nidoking pretty well; Zapdos walls most Steelix; all three can come in on Vaporeon to some extent; Zapdos walls Heracross - and obviously there's also the dynamic of Raikou walling Zapdos and Snorlax countering both Electrics). And all three have serious offensive potential - Raikou/Zapdos basically have no counters besides Raikou itself and Snorlax, and even Snorlax doesn't like Thunders, while Snorlax is so potent that most teams devote two whole slots to stopping it.
Almost any stall team is going to have Snorlax, an Electric, and Skarmory, that's certainly true. An offensive team won't have Skarmory, but they'll still have Snorlax and an Electric. They fulfill vital roles on every team, no matter its bent; that's a claim Skarmory can't make.
And no, I'm not really an offensive player. Most of my experience has been with stall teams. So let's just stick with defensive Pokemon for a moment; is Skarmory much better than Miltank? They both wall Lax to some extent; Skarmory loses to Fire Blast/Thunder, while Miltank loses to Belly Drum/Substitute, but otherwise neither really cares. Miltank walls every other Curser except Kangaskhan; Skarmory cannot stop any Curser with Roar since they're all slower than it after Curse. Skarmory stops Marowak, which Miltank can't. Neither's very good against Machamp, but Skarm's better. Miltank stops Nidoking once Sleep Clause is on; Skarm dies horribly. Skarm can stop Quag, and Espeon and Clefable to some extent; Miltank's shredded by all of them. Miltank is better against Porygon2, which can zap Skarm. They probably even out against Heracross; Skarm cares less about Megahorn and scares it out, but Miltank outspeeds it which can be absolutely crucial in the case of EndRev. Overall I'd say Skarm's role's slightly more important, but it's not always available to fulfill that role because it uses Rest and usually not Sleep Talk, while Miltank's always available. Then you've got support roles. Skarm is a phazer, which is certainly important; you need that to not auto-lose to Missy or Umby. But there's quite a few good phazers, and Skarm does have the unfortunate drawback of being 2HKOed by almost all Thunders and Fire Blasts - even non-STAB - so it isn't always enough by itself. Miltank's a Beller, and easily the best one. Heal Bell isn't just a handy defensive tool to remove status or Rest turns from walls; it also enables the faster re-use of DrumLax and DrumQuag, which can otherwise be dead weight. It's also a decent status spreader with Body Slam, whereas Skarm doesn't have anything besides Toxic and has to give up Curse to get even that.
Can you really, from the bottom of your heart, say that Skarmory is that big a cut above Miltank? I think it's closer in power to Miltank than it is to Zapdos.