This topic gets raised every once in a while. If I'm on my own dime, flying Y (I'm not upgrading anymore due to the extortion), I'll fly AA for the miles. When I used to do business travel to Europe, when my company was paying for J, I'd generally fly BA for the reasons you stated. BA and AA being priced the same, BA wins hands down. Mileage accrual in AAdvantage was not an issue at that point, comfort was.
For many here, even in paid J, AAdvantage miles are more important, so people put up with AA's J shortcomings.