Random distribution in a game is fine, the problem is entirely being able to use cash to get them. The solution is very simple, as you've pointed out, hundreds of games have already figured out less predatory ways to add content and keep a game alive.
The cash for randomization is fundamentally what makes it so insidious. Everything you've mentioned is wildly preferable to paid mystery bullshit. Seasonal outfits, battle passes, whatever. If you know what you're getting before you choose to buy it, that's your choice.
The part you can't quite get is the outright advantage that loot boxes will sometimes give people decent stuff without having to grind, which all the current alternatives don't do. I'd take randomized tables over mandatory grind any day, but I certainly don't want to ban either.
This is the most Stockholm Syndrome shit I've seen on here. You do realize that the grind only exists to push people into buying the bullshit right? Games should be fun to play, with rewards coming regularly from normal play. If you're 'grinding' through a mess of bullshit to avoid paying, or if you're paying to skip the grind, then why are you bothering to play a game you don't actually like playing? A little grind is understandable and fun, I'm looking forward to a little boss farming in BL4 later tonight. But that's the fun part of the game, playing it and hoping to get something good.