This argument of 'if you don't like it then leave' is a little immature. Everyone has the right to work for an honest wage and be benchmarked to similar professionals doing the same job.
If the company won't reward you for your loyalty and hard work, the last step is to strike. It's a nasty process but you have to stand up and be counted eventually.
BA cabin crew are notoriously militant, and in the last strike ballot achieved a 96 percent vote in favour of a strike. I don't think it's right to behave the way they do, but the proof is in the pudding, look at their T's and C's...
As they say in the States, 'if you're specialised, get unionised'....