Part of the problem may simply be so few jobs?
One Healer (WHM)
Two Tanks (WAR/PLD) (no giggling at PLD tank)
One Magic DD (BLM)
One Range DD (BRD)
Two Melee DD (MNK, DRG)

If the target is weak to magic: One choice -- BLM
If the target is too dangerous to be near: Two Choices -- BLM/BRD
If the target is weak to melee: Two choices -- MNK/DRG

Given that a lot of enemies are just too dangerous to get near, but easy to take out from afar, is it no surprise that BLM/BRD is nice to stack?

That being said, what if we had a variety of different jobs that filled the role of 'Ranged DD':
BLM, SMN, BRD, RNG, COR, SCH, RDM

There would be less job stacking... because the issue not really is the desire to stack a job.. but rather, the desire to stack a role. The primary roles being: Tank, Healer, Melee DD, Ranged DD, Support

If we had 5 jobs for each of those roles, I feel stacking would be gone.

(And if those jobs could co-ordinate together for bonuses, such as in Weapon Skill Chains, then there would be more interest in non-stacking).