This is how I see the situation. The game cost a lot of money to make and it costs money to maintain servers. The production of a game is not free. EA is a company. Not a good company, but it is a company in the role of making money.
Star Wars Battlefront 2 is a major release, especially with Star Wars back in the public eye thanks to dead ass Disney. Making a game based off of a license owned by Disney can either be a wonderful thing or a disaster. Also, it's not free either.
Now, because EA wanted to have a high budget game with super good graphics and I am assuming super good programming, this requires a super huge cost in budget, one that is above the $60 price tag, unless it's able to sell to nearly every possible gamer. Naturally, since most gamers don't even bother with modern games anymore, they have to rely on the secondary of the majority: console kiddies.
This comes down to the idea of DLC. Either have the person playing the game for a long time, or have them pay for the new hero. I honestly don't understand why there is a backlash about this decision, unless a new hero is required to play the game. If the game was story based and each hero is a new chapter, and you must replay the same chapter for 40 hours in order to unlock the next one, I can understand anger about it, but to hate on the game because people don't want to play for 40 hours, despite the fact most will already play 40+ hours with the same character anyway?
Get good with a character, unlock a new character while you do so, repeat. Imagine if Resident Evil 4 had more than 5 mercenaries, but to unlock the mercenaries beyond 5, you must play mercenaries for 40+ hours or pay money. You bet your ass I would play in order to play more, because I already intended on doing so and am now given something to look forward to.
Play the game, don't play the game, but don't complain that the game is giving you a reason to keep playing for the same amount of time you intended on playing. If someone pays to rush it out, that's on their own and that is just putting money into an already dying company. I'm not defending EA for their decisions on trying to make more money from gamers, while releasing a bad product. I am merely explaining how and why they do it: a focus on statistical data and trying to find a way to please such data while also making money to stay afloat.
Perhaps instead of complaining about micro-transactions, we should be telling EA that they don't need to have such a high budget in order to require the MT route of gaining money. Of course, we can't just tell them, because they look at the statistics and see what makes big money(online gameplay, customization, and micro-transactions) so they will continue to do so. EA is known for being one of the worst companies, and for good reasons.
I guess I just wish games could be more how they were in the past, like the first two battlefront games. Online is optional, split screen is fun as hell, and single player is a fun galactic conquest map that can also have a slight RTS feel to it. But try convincing a company like EA about such core values. You bet your ass there's going to be a Star Wars Battlefront 3, EA needs its sheckles.