It's not like EA came out before BF2 and told everyone about the loot boxes, pay to win, grind designed to make you spend more money, etc. It's EA for god's sake! We should have all learned by now to wait for the game to arrive before counting any unhatched chickens.
EA are a marketing-led company that thinks they can sell anything as long as they market it well enough. They've had no reason to change their ways because marketing consistently gets people excited and they hand over their cash in pre-orders no matter what. This won't change until paying customers change the way they consistently reward game publishers for pulling dodgy tactics over and over again.
Sorry to break this to you but EA did not invent loot boxes. And it seems to me you're a bit picky in regards to condemning loot boxes and greedy practices. Steam has peddled garbage in each player's inventory since its inception. Loot boxes are ever present on Dota 2 and CS:GO and they spent years turning a blind eye to gambling on CS:GO. I could go on but "STEAM GOOD, EA BAD!!11" right?
As for pre-orders, everyone does it, even indies. Why do you blame EA for something that happens across the market?
Yes, and then they forced BioWare to release Anthem early despite it being an unfinished and bug addled mess.
EA didn't force anyone to do anything, BioWare has simply been a mediocre developer for years now. Dragon Age 2, Inquisition, Mass Effect 3, Andromeda, an MMO, a bunch of canceled games and now Anthem, after 6 years of reboots. You can't blame EA when their other star developer, Respawn, is releasing increasingly better (and significantly more successful) games in the same time frame.