Taking Taunt as an example... According to this wiki, other melee classes can use this same exact ability, and it functions exactly the same for said classes: Berserker, Bruiser, Paladin, Guardian, Monk and Shadowknight. Not one of those classes gets "something special" (at level 1) just because they are their class. When a Bruiser casts this Taunt, the exact same thing happens as if a Paladin casts it (just being obnoxiously clear on my question setup here).
Taunt is the "newbie" ability for all 6 classes. Then, after they reach maturity (level 9) all 6 classes then branch off into their own specialty versions of the Taunt line (see link above). What this tells me is that our spells data needs to only have 1 single "Taunt" (by name) ability that all 6 classes share. Not 6 individual Taunt entries.
However, the complexity comes when these "Common Class Abilities" have multiple Tiers (App1, App2... Master II). Now you have a common, leve 1 ability that could have currently 9 spell entries. The good news is, if we tie these abilities to multiple classes (as they should be), you only have to update one single spell record to effect all classes that share that spell. The downside is trying to identify and manage those into a "common spell_id range" - which is my problem, not yours
Mostly, I wanted to throw this theory out there to see if there are any opinions on it before I start "commonifying" (my new word) shared datas.