There are better schemes than BA out there, take a look at Aer Lingus:
Charge to get selected: Free vs 200/ 250 at BA
Class 1 Medical: Free vs 300+ at BA
Need to buy life assurance ? No vs Yes at BA
Selection partly outsourced ? No vs Yes at BA
Loan Required for training: 21,500 (25k EUR) vs 90,000 at BA
Starting Salary: 35,000 vs 22,000 at BA
Time to reach the highest pay point: 26 years vs 34 at BA (both top out at ~ 150k GBP)
The BA scheme might be the best in the UK, but I do agree that if BA did really want the best candidates they could make the financial aspects of the scheme better.