What is nice is this whole argument is tied to semantics. Fire elementals have to resist fireballs just because both of them have the word "fire". If the school with damage spells is called, for example, Chaos (that sounds familiar) and the fireball spell is called doomball (familiar too, not as much but close), or chaos storm or whatever, then suddenly, it makes sense that the fire elemental is damaged by the spell...
It's also semantics that we have units with weapons and armor, we could just have numbered entities of generic composition. Semantics are the foundation of language. If you do not have fire, then you cannot have fire resistance. You are arguing against diversity, not for it.
Mmm, at least for me, separating spell lists where chaos gets damage spells, life gets buffs, nature gets summons or things like that, looks pretty interesting. Much more than fireball, mudball, natureball, boringball and so on.
Why do you think an entire sphere can be filled up with damage spells, but damage spells can't be unique between spheres? Nature ball as a serious spell, is it a giant granola bar or what? We could put Monk in the game and he'd be paralyzed by getting "nature" on his hands.
Control of the elements, storm generation, air movement, atmospheric effects galore. Air has no need for a generic damage spell to match fireball, they're the typical generic spell lists. Effects can work against the same resistance score that counts against damage. You don't need a snowball, you need a thunderstorm randomly frying units in the area, gale force winds that neutralize ranged attacks and slow movement, Air and Fire don't have to be the least bit similar in any way. It's no less stupid to assign a damage sphere than it is to make attack spells generic between them. It's self limiting idiocy.
Your idea, but you can do lots of things with a generic damage type, because lots of things aren't tied to damage at all.
You can do lots of things simply, or make a mess. You can have a stun effect, but it can't be a thunderbolt that doesn't work on rock golems. You can set something alight, but it works on a water elemental just as well as a scarecrow. To do it anyway, you make the previously described mess. It's a horrible thing to behold. A damage type is a simple, clean method of categorizing and modifying the effect of that damage in a logical manner. It's no different than having a trigger for units being living versus something else. An animated skeleton obviously can't be killed by paralytics or poisonous gases.