The last I heard, Enmity generation is on a point-for-point basis. Meaning:
If one heals for 1000 HP, they generate 1000 enmity. If they have Out Of Sight equipped, they generate 990 Enmity.
If one deals 400 Damage with a WS that takes all TP, they generate 400 Enmity. With Intimidation, it is 410 Enmity.
If one deals 8 damage with an auto attack, that would be 18 enmity..
Point for point enmity is a flawed way to do it and makes enmity generation adjusters worthless. My suggestion to fix this is:
Make each point generate 30 Enmity each, and Instead of enmity adjusting skills or items reducing the total enmity generated, it reduces or increases enmity for each point instead. so:
1000 HP would generate 1000x30 or 30000 Enmity. With out of sight, It would equate to 1000X20 enmity, or 20000 enmity.
400 DMG on an enemy would generate 400x30 enmity, or 12000 enmity. With Intimidation, it would be 400x40 enmity, or 16000 enmity. Putting it just under the enmity generation of an 1000 point heal.
Add materia:
1000 HP heal With out of sight and a Touch of Serenety materia (-4) would be 1000x16 or 16000 enmity
400 dmg with Intimidate and Touch of Rage (+5) would be 400x45 or 18000 enmity.
Mind you, a GLD would rarely do 400 damage in a fight against an NM, even with Riot Blade and full TP. More like:
350 DMG (Riot Blade) with Intimidate and Touch of Rage (+10) for 350X50 or 17500 Enmity, Plus the increased enmity from the attack itself (however much that is, See bottom).
Auto attacks under VS Hard NM at the damage of a sword (Cobalt Winglet) would be:
8dmg, 8x50 = 400 enmity for that much damage.
This suggestion assumes enmity is still point-for-point and enmity adjusters increase or decrease the total.. Increasing or decreasing the base amount of enmity each point generates can be the balancing point. However, make the number too low and it would become impossible to lose enmity, make the number too high and it will become impossible to hold enmity. Both errors would make skills and materia useless. So if you set the number at 15 then:
1000HP heal would be 1000X1 with Out of Sight and Touch of Serenity (-4) = 1000 Enmity
300Dmg attack = 300x35 = 10500 Enmity
10dmg Auto Attack would be 10x35= 350 Enmity
Too low = never lose enmity
Set the number to 60:
1000 HP heal X46 = 46000 Enmity
10dmg AA X80 = 800 Enmity
300dmg WS x80 = 24000 Enmity
Too high = never keep enmity
A tank could essentially hold agro with auto attack if the number is set too low, or never gain it if the number is too high. Go even lower or higher and there would be no need for Materia, since it would once again be useless, and the system will once again be flawed. I think 30 is a good starting number.
Also, Weapon Skills that have increase enmity such as Riot Blade and Storm's Path, and skills that just generate enmity such as Provoke and Disorient, Need to have a number to their enmity generation. Such as "Deals slashing damage and generates 15 extra enmity" or something to that nature. No one can gauge how much enmity they are truly generating if it just says "increases enmity"