What's wrong with averaging them together? That should negate the spread unless they're really short of one currency and long on the other. I guess your local bank would post bad rates on some pairs because of their carrying costs, but someone like transferwise?
Back in 2009, I recall one Canadian bank having competitive rates when you wanted to sell them USD, but terrible rates when you wanted to buy their USD. I guess they were in dire need for USD and didn't want to sell what they had to their retail customers.
If you’re just doing it for a retail perspective some sort of averaging scheme like you mentioned would probably be okay. If you’re dealing with large amounts regularly you’d probably want to negotiate with multiple liquidity providers to get an idea of what kind of rates you’d get for a given currency pair.
It's funny how much was based on LIBOR when it provided zero indication of depth-of-market for the banks feeding it numbers.
When Forex prices flash across cspan or similar they are typically quoting the interbank offered rate. Retail traders don’t get anything close to this rate. You usually go through several intermediaries who each add a spread. There’s not best price law in fx.
Using prices from retail fx brokers usually isn’t a good idea either since their spreads are so outrageous. Oanda has reasonable rate info I’m told, but it’s more geared for professional traders.