Odd but fair.
BA have been operating for so long now that crew on the old contract were paid better as it was an exclusiv job once upon a time, they are used to their salary have established a lifestyle to match and it wouldnt be right to cut their pay just because BA are streamlining their costs. New crew are aware what they are earrning before they sign up so they accept the pay with the new contract.
The basic salary is in line with other airlines and it depends on how hard the person works as to how much they eventually take home in additional pay. It is a very fair system and as a rule the total paid to 100 new contract crew is probably equal to 100 crew on another airline.