The DC pension is underfunded because if the contribution rate cannot possibly produce a reasonable fund to purchase a pension, it is by definition underfunded. A not unreasonable Captain's pension might be £25K with 20 years service. Say a £5K annuity costs £100K. The fund would therefore need to be £500K. The current funding will provide £300K, hence it is woefully underfunded. Cathay pay 15.5% of gross, Virgin pay 15% of basic. BA pay 12% of 75% of basic (9%).
If BA would just fix the DC pension to a realistic rather than penny pinching level I could whole heartedly say that BA is by far the best company to fly for.