Trinitrotoluene - Skarmory may be immune to ground attacks, but Steelix trade that for an immunity to Electric, including the popular Volt Switch and Thunder Wave. My examples of Gengar and Aerodactyl was to mention a few leads that it can beat. Steelix are meant to be used as one of the first pokemons, and since he has few weaknesses (like Skarmory) it makes it easy to switch him out (and in). You mention that Steelix has a crippling weakness to many OU sweepers. I'd say he also resist a lot of them, such as Salamence and the ever popular Scizor. I do agree however that the lack of reliable recovery gives Skarmory an advantage over Steelix, which is why I think a C rank would fit him.