An issue with button bloat is that theyre homogenizing the classes rather than distilling them down to core identities. A lot of this has to do with making sure you arent 'locked' into bringing certain classes. So theres a lot of 'repeat' in regards to skills.
But the real reason for button bloat is probably to MANY options. Were given everything at max level. That shouldnt be the case.
The only real way to 100% fix button bloat is to force a maximum amount of keys and push customization based on comp/fight.
As an example, youd have 24 skill slots total, and you have to pick which skills you want to bring depending the fight. If you were going as a DRK, you may want more mitigation based skills for a hard hitting boss. for pulling you may want more aoe and aggro based skills. If youre doing a fight with harsher dps checks, you may want to go with skills that are more Damage orientated.
The higher in levels, youll have more variety of combinations and the like, and more selection based on the fight. Obviously therell be core skills youll want to bring every time (basic damage combos and the like). And it doestn matter how high lvl things get in the end, because youll always be limited to 24 so its a matter of selecting the most important 24 skills, even if you have twice that many. More skills just means more nuance.
There will be no "Optimal one size fits all" skill build if the fights are designed right. What I mean is that while you could technically make a build that encompasses MOST everything, for maximum effect youll need to customize skills bsaed on the fights. This would work better because in casual content you could have a general build, but in EX or Savage youd have to customize for the fight/group comp to maximize success.
Thats about the only way I can think of to fix button bloat without any massive issues.