Gunpowder isn't a late game tech at all. It is for you because you are biased towards cannons. Gunpowder also provides +1

from mines and Arquebusers.
Count the amount of beakers it takes to get gunpowder. Compare that to other techs. It's a late game tech.
Note: On Emperor, it takes 16,536 beakers to get Blasting Powder. It takes 19,383 beakers to get Strength of Will. So, I guess you can argue that Blasting Powder is not quite as end game as Arch Mages.. but pretty close.
Fireballs aren't better than cannons in any way. They do less bombardment damage and less physical damage. I have already said this, if you wish to contradict, then please go into details. Ritualists and Chalid require particular conditions. Skeleton swarms are usless against Longbowmen or Paladins/Eidolons etc. A strong hero is lost if he looses. Of course reloading the loss works better than cannons, I agree.
Fireballs
1) Do not have a constant military cost, you only pay for them the turn you use them, and only if they don't die.
2) Can be used turn after turn even if they die.
3) Move to squares, including over water.
Two mages with fireballs can provide all the city bombardment you need, as well as a lot of collateral damage.
Skeletons vs Longbowmen? Are you kidding? You get skeletons with KoE, and Longbowmen with freaking Bowyers. That's like saying axemen are terrible because they lose to Dragons.
Ritualists/Chalid: I'm not saying everyone uses these, I'm just including them in the long list of other things that you have access to to break through fortified cities.
I don't move to siege a city without 4 cats or 4 cannons, with ANY civ except the elves.
Maybe you are wrong to do so? Why even point this out? If I told you I always take at least 5 archers with me when I siege, would that somehow prove that archers are awesome at sieging? More likely, it'd just show me to be a fool. Obviously, siege units are designed for this, but they aren't necessary.
What I suspect is that once you get certain units you just quit the game.
Not quit, win. For a random example:
http://forums.civfanatics.com/showthread.php?t=277519
I tried a rather different strat with them than I normally do, and had a decent victory. Not my best, by any stretch, but not too bad. Out maneuvered by the opponents via mass of arms, instead of slow siege combat... and that was WITH the khazad, the faction with the strongest siege.