I believe the audio quality degradation when using the mic is a limitation of Bluetooth bandwidth. It switches to a different profile capable of sending and receiving audio instead of only receiving.
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.
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.