A minor point. Just because BA have a disclaimer saying that the staff member agrees it's a perk and can be withdrawn at any time doesn't necessarily make it legally watertight that they can do so. In the same way, just because you sign a contract doesn't automatically mean that all provisions are legally enforceable - the company must abide by the law.
If they had a disclaimer that said everyone must stand on their head and sing the national anthem, chances are that would be viewed as unreasonable and set aside - irrespective of how many people signed it.