Spears also get strength promotions, and Crossbows get City Garrison. Your argument is invalid.
Assuming elephants and spears go towards the optimal path against each other.
Elephant with 1 promotion -> 8 + 0.8 (str) = 8.8
Elephant with 2 promotion -> 8 + 0.8 (str) + 2 (vs. melee) = 10.8
Elephant with 3 promotion -> 8 + 1.6 (str) + 2 (vs. melee) = 11.6
Spear with 1 promotion -> 4 + 4 (vs. mounted) + 0.4 (str) + 1 (fortified) = 9.4
Spear with 2 promotion -> 4 + 4 (vs. mounted) + 0.8 (str) + 1 (fortified) = 9.8
Spear with 3 promotion -> 4 + 4 (vs. mounted) + 0.8 (str) + 1 (fortified) + 1 (vs. mounted) = 10.8
And of course, let's look at crossbow vs. non-melee at various levels of city defense:
Crossbow with 1 promotion -> 6 + 1.2 (city garrison) + 1.5 (fortified) = 8.7
Crossbow with 2 promotion -> 6 + 2.7 (city garrison) + 1.5 (fortified) = 10.2
Crossbow with 3 promotion -> 6 + 4.5 (city garrison) + 1.5 (fortified) = 12.0
Since two levels of promotions are easy to obtain, it's almost guaranteed that an incoming elephant can beat a defending spear when cultural defenses are down. While crossbows can be somewhat tough to crack with 3 levels of city garrison, longbow generally does better against non-melee. And of course, that's only based on the assumption that the enemy does not suicide his siege units on your city (which is unrealistic in most cases). But then again, I think we can pretty much dismiss your idea of counter attacking.