1.Use only multiplicative stacking.
With flat stats, determine base N number from skill/level/non-item attribute and apply only percentage modifiers.
Example1: Sword adds +40% to base damage determined from "Sword Skill A"+Character_Level.
Example2: +4% fire resistance and +10% fire resistance combine to

2.Utilize diminishing returns for levels of X:
3.Counter-balance stats: E.g. fire element opposes Earth, so characters stacking Fire affinity become weaker to Earth, as the stat is essentially Fire-Earth axis.

4.Use component energy to allocate user stats, providing modifiers to change allocation with skills/items.