It is true that Bisq trades can be identified on the blockchain because of the characteristic inputs-outputs distribution, but from this to calling it a privacy nightmare there's a lot of space. As usual all depends on your threat model, yet you can obtain a very reasonable privacy by either using unlinked btc utxos to pay for fees, or not linking trades with too many bsq peeling transactions. Coinjoin is also a very good option, and I am talking about Joinmarket here, which is the only properly decentralized coinjoin implementation in existence (dont' be fooled by search engine hits, it's only on github). Joininbox runs a contained JoinMarket instance from a SD card on a raspberry pi3, with a pruned btc node.