It's definitely not an issue with bandwidth, instead it's an issue of standardization. There just doesn't exist a bluetooth profile that supports high quality duplex audio communications between two devices. It's pathetic.
Also iirc CSR has a vendor codec (Auristream) in SCO transport that supposedly provides higher quality. Not sure how much better it is, or what software supports it.
So certainly better duplex quality is achievable. But there may be some licensing, hardware, or software support constraints that have prevented them from becoming more common.
EDIT: Oh wait, the reason HSP uses low bandwidth codecs is because the standard makes a trade-off in favor of latency and non-blocking comms. Clearly, there are good reasons.