I don't understand the trouble here...
Style are given with a specific class ID, Style Proc are given to specific Style/ClassID Combo, if one style has both "Procs" it mean one of the proc is attached to all ClassID (0)...
I remember removing Multi-Proc from Style short time ago, they were dangerous and useless with the use of "Multi-Spell" instead of Multi-Proc. The code should only choose the Class ID Specific Proc !
SpellLine like "Archery" can also be attached to Specific Class, (there is a ClassIDHint on SpellLine table that is meant to only give the spell Line to the specific Class), so you can have one Spec "Archery" Attached to 3 Spec Spell Lines, each one having its own "ClassID" (like Hunter/Ranger/Scout)
Abilities Attached to Spec can also be filtered by ClassID (used for Stealth Spec, because Assassin get more Safe Fall than Archer/Minstrel)
If you build Custom Spec for each Class to split up all these skill you'll have trouble around a lot of other mechanisms like Spec Bonus, or Focus Bonus, these bonus are hard tied to the Spec KeyName and not to the Spec Name...
You could update some Bonus Calculator to work like "All Weapon Spec Bonus" and match all the "clone specs" you made but that a lot of work code oriented and database oriented !
Spec are supposed to be pretty much "Unique" because of all formula going around there (Focus Power Consumption, WeaponSkill, Style Damage, Stealth Detection Formula, Spell/Weapon Damage Variance, etc etc), that's why I used a lot of "ClassID" in each of the attached skills to allow splitting only where necessary and keep all other skills in sync