If you book on ba.com, the charge will be made in the currency that's quoted (CZK, presumably) so you will pay your credit card's foreign currency charge.
You could avoid that by phoning BA in the UK to book - the agent should be able to charge you in GBP. But then you'd have to pay the offline booking fee, which may be much more than the ~3% foreign currency fee on the CZK charge.
Or you could try to find a UK travel agent that will book and charge you in GBP. But then you may have to pay the agent's fee, which could again be more than the credit card's foreign currency fee.