Been "caught out" by this before, and it does come as a surprise to many.
You need to have paid a flexible or semi-flexible business class fare, or otherwise have any sort of status to escape the fee.
Even Ruby status is enough, though it means you can only select up to seven days in advance of flight departure. Semi-flexible business class can only select up to 48 hours in advance, which is 24 hours earlier than the rest.
Depending on how important it is for you to select a particular kind of seat, you do have to weigh up your options and also if it is worth investing the fee (assuming we're not working on principle here). Sometimes, you might have the privilege to select a seat for free, or even pay a fee, but then you realise there are no good seats left.
There are some other tricks some others have employed (not easy, but have been done) if it is really important you get a particular seat.