Destiny needs stats. I don't mean the current stats which are about as effective on your performance as the colour of your armour, I mean actual stats. In WoW for example, each class and role has its primary and secondary stats, and you can shuffle and fiddle till your heart's content. There are tons more stats which also affect your character, however this is more for flavour. As a tank, I stack defense rating to make me tougher, this is my primary stat. My secondary stat is stamina, which increases the size of my health pool, so when I take the big hits, I survive.
As a healer, I stack healing power as my primary stat and intellect as my secondary stat. More intellect, bigger mana pool, more heals before I run out.
Swap these around however and you've just made both of these classes completely useless. There are thousands of items in the game which offer all manner of stats and although the drop rate is RNG, the place to get them isn't. Want that tanking 'at? Go farm BossyMcBossface in McDungeonland until you get it. You know what you need, you know what you want, and it gives the game a purpose.
This also allows you to experiment and play with your gear. Fighting a boss with a short enrage timer? Go for max DPS. Fighting a boss that hits like a truck? Go for a larger health pool.
Keep the weapons as they are, with the god rolls and random rolls, but maybe add some stats to them. As for armour, keep the blues as random stats like it currently is, but the legendary stuff? Give it fixed stats and give it a specific path to obtain it. Whether it be a questline, a certain strike or dungeon, raid, boss, whatever.
This system could be implemented in the current game with almost no overhead, it's literally just a spreadsheet going on in the background. It would give all the quests, bounties, missions, strikes, etc all a purpose. You know what you want and you know what you need to do to get it. Goals.
As it currently stands the entire game is concentrated around the power stat which is fine, but as you've all seen, all they can do at the end of an expansion is increase the power level, moving the carrot a bit further away, creating a non-stop cycle of tedium and boringness. The other stats mean absolutely fuckall, in fact maxing out one stat at the cost of another in D2 amounts to having a different coloured lollipop in your mouth when you shoot people, that's how effective it is.
The classes also need more of an identity. Every game with the holy trinity performs well, just look at WoW, and even Overwatch. It makes your class stand out and if you fail at your role, you fail the group, so it incentivizes you to max your gear out and be on your game. The classes at the moment are slightly different, but not different enough. Apart from their supers the only thing differentiating them is their appearance, their jump and which way they lob their grenade. Anyone who's been a warlock will know that the jump is just a pain in the ass and completely unnecessary.
You could go a step further and restrict certain classes to certain weapons. For example all classes could use ARs, but only a Titan could use an LMG, and a warlock a shotgun. Only hunters can use sniper rifles, that sort of thing.
The game as it currently stands is any class can do anything, and the crap you get is entirely RNG based which just makes you feel like your character is exactly the same as every other character in the game and the only thing differentiating you is RNG. Give classes a proper identity, remove or add some abilities to really give them flavour, make the stuff worth grinding for and the game will get a LOT more interesting overnight. It'll also go a long way to helping fix the PVP system as you can't simply have every class running around with a Mida Multi Tool.
I'm not saying turn the game in to an MMO, far from it, but do something to make sure your character is your character. You want other people to see your stuff and go "oh shit, look at that 'at, he must've done the hardest raid on hard mode", not "oh he got lucky from an engram".