i feel a way to fix all this while being fair to both players and developers is to remove loot boxes and pay to win mechanics. however to keep an option for people to buy cosmetics only (character skins, weapon skins, and other visual effects) with real money but have a way to unlock them in game as well. developers can still get money from the die hards while casuals can still get the items from simply playing the game. it will also remove the gambling aspect where you can buy or unlock the exact thing you want instead of relying on rng.