The counterparty risk is not in the storage, but in the exchange. You always expose yourself to counterparty risk when you exchange currencies (even crypto ones).
Spreads on EtherDelta (which is widely used) are good, but it's only for ERC20 tokens. The UX is awful and it can be slow because of Etherium scaling issues.
You're right about any token pegged to fiat (like USDT) having counterparty risk. The company offering it, the bank they keep their funds in, and the country's legislation. I wonder if something decentralised will emerge that will effectively minimise those risks.