My educated guess is that there are a few main reasons for the opt-in behavior:
1) ZKPs are (were?) a brand new tech (in crypto-space time scale) so it seems understandable projects originally thought about them as an "extension" to more sound base: Litecoin is taking the same approach with mimblewimble, some times ago I have read an Andrew Poelstra interview where he was explaining Confidential Transactions are not in BTC because they could break soundness in case of crypto assumption breaking; again, a zero day bug actually appeared in zcash, luckily handled by the team.
2) "anonymity set" seems to me a quite recent concept, or at least, constantly thinking about it is a recent attitude, perhaps because earlier the matter was more a theoretical one than a real need
3) if you don’t like it you can lump it, but no project like to be de-listed from a centralized exchange following policies; so having an un-shielded capability is like to say: "ok we can be devil, but most most part of us is a lovely angel, please don't chase us away" (as an example of this love-hate relationship, remember that recently ECC founded a report by RAND corporation -yes, that RAND- saying... guess?.... that zcash use-cases are not so illicit)
I'm not saying that I don't like zcash, I love their crypto progress as far as I can understand it, but unluckily it seems in this industry it's not only matter of math... not anymore
I'm not affiliated with it in any way, but in this thread I think it's right to cite Monero, which instead has privacy by default using a bunch of different techs, ZKP included (in bulletproof variant)
Bye!
I guess that ZKPs are still not as tried-and-tested as other privacy technologies available in cyberspace. Zcash was born in 2016, so that makes nearly 4 years since its inception. There's still a lot to learn and discover, before ZKPs can be used seriously for mainstream privacy. I believe that a ZKP cryptocurrency with enforced privacy, will not get the attention of many centralized exchanges. After all, they'd want to keep their business by requiring ID verification to their users. Shielded transactions make their efforts useless.
I've been searching for coins that enforce ZKPs and found out that PirateChain (ARRR) does this. It's a great little coin with a lot of potential in the blockchain industry. By relying on Komodo's dPoW consensus, PirateChain not only enforces ZKPs but it's also resilient against 51% attacks. It's very undervalued, probably because not many people have noticed it yet. As far as I know, it's the only coin that enforces Shielded transactions (ZKPs) across the blockchain. ZEC will also become private by default, sometime in the future.
Until people use ZKPs more thoroughly, Monero and Mimblewimble coins (Grin, Beam) will be in the lead of the privacy-oriented blockchain industry. There are many great privacy technologies out there, which gives people a choice to protect themselves against constant surveillance on the Bitcoin blockchain. I hope to see more cryptocurrencies which enforce the use of ZKPs in the not-so-distant future.