The problem is that they tend to get greedy though. Take Overwatch, a collector want to collect ALL of the cosmetics. But there are so many of them that it's unrealistic to ever get all of them unless you play 1000 hours or pay, and what you have to pay for it all is crazy expensive. I rather have a subscription with everything avaliable.
And it gets worse when they make time limited cosmetics, that people need to get fast if they ever want it. They can put any price and people buy it. :S
But Diablo 3 worked fine without either micro transactions or a subscription. There was the game, the expansion and the necromancer pack.
Sure some people argue the "lack" of endgame is cause the game doesn't generate enough money, but the thing is, Diablo 3 was a huge improvement over D2 (in a modern gaming way at least) and the people at Blizzard never imagined they be competing with Path of Exile. The game is simply not designed to be bigger than it is, you have to make a new game from the ground.
So Diablo 4 could be the game, a few expansions and a few extra packs like the necromancer for D3, would work fine.