Just a little more to add....having already said I agree with almost everything you said, I was re-reading and I really, really liked this :
Rabona can behave the same way, there is no reason for hardcoded formation advantage; only players playing at their position should do that, versus the other players. Simulation should do that naturally.
This would give this a more realistic feel. Although I have no dev knowledge...but i am assuming for this solution, instead of taking the average team formation stat into consideration, this will take individual formation stat values, yes? That is something pretty exciting and will add a whole new dynamic to the game.
But then, I have no idea how complicated implementing this would be.