In 2013 British Airways introduced a new ‘no-frills’ Hand Baggage Only fare. This pretty much followed what other airlines have done and is great for people who mostly travel with only hand luggage and thus can get a cheaper fare. The main issue with this new fare is that passengers are not allowed to choose a seat free of charge, seats are assigned automatically by British Airways, and this even includes top BA Gold travellers who neither ger free checked luggage, nor the option to choose a seat free of charge.
However British Airways do try to be approachable in this matter. Especially as a top-tier flyer most of the time the system will automatically assign a seat based on the seat preference in the profile. i.e. a window seat or an aisle seat, depending on what you have indicated in your profile. But this certainly does not always work.
On my last return flight it worked perfectly on the outbound flight. I was assigned 10D, an aisle seat on the second row of economy class. On the return flight I was assigned 23C, five rows from the rear galley and the lavatories, with economy class starting at row 5. Certainly not acceptable. However a very friendly lounge agent in the Galleries First Lounge at Heathrow changed the seat without any fuss, from 23C to 05C, the first row of economy class.
For those who get a seat they are not happy with there is a trick. When checking in on the BA website or through the BA app, do not issue a boarding pass, i.e. do not select the boarding pas to be printed/sent/downloaded (whatever options you get). At several airports you will then be able to select another seat free of charge using one of the self-service check-in machines before the boarding pass is finally printed. It does not work at all airports, but it works at a large number of airports. And it does work.