Microtransactions are fine as long as they are not done the way they implemented it. I would even say the way BF1, TF2, Overwatch, Rocket League, etc. have them isn't good either. Even though the skins don't really impact gameplay too much (you could argue some vehicle skins maybe in BF1 and Rocket League), you still are paying for a random chance for a skin.
The way these micro transactions should work, is we should get a currency for playing the game. You then can pay real money for this currency or another currency where it pays less to unlock a skin. Example: This one skin costs 1000 credits (took about 2-3 games to get that much) or 200 real money credits to get. You could pay $1 for 500 money credits so you could pay for a couple of skins. Planetside 2 almost has this right but the last time I checked, most of the skins are locked behind real money currency.
Progression and enhancements should not be tied to a currency of any kind. Guns and gadgets should be unlocked right away, and if not should be unlocked via playing the game only. What you pay for is supposed to be a complete experience of the game, not part of an experience. Whatever happened to this concept? The gaming community has been lost in this concept for so long it's really disheartening. Little by little this has become the norm and it's become to the point where playing a game isn't fun anymore. People are obsessing over their skins that others can't get because the others won't buy into the crate system. They just want to play the game they payed for.
What we have with Battlefront 2 is the first (if not let me know) where progression itself is behind a crate system. Not only that but when you progress, you don't get any downsides to your enhancements so really there is no balance there. I didn't really enjoy my game time when the beta released for this game either. No squads, no community servers, no VoIP, no teamwork, has matchmaking for a non competitive FPS, no mod tools again and some others have ruined it for me from getting the game. I love Star Wars, but the game that EA has produced here isn't up to standards for a AAA title for me.