Help me understand of that 90% refers to. If 90% of your totals reads from your input (seqs.fna) are discarded, that's a problem! If 90% of your dereplicated reads are singletons, that makes a lot more sense; most reads will end appear many times and end up in a derep read of high abundance, while the remaining will end up as singletons. 90% singletons may only account for 5% of total reads in seqs.fna.
Depending on your version of vsearch, the output will tell you if 90% refers to outputs reads or input reads.
Also, one time I have had problems with singletons when I accidentally left my barcodes in my clustered sequences. These unique barcodes prevented reads from different samples from combining, and I got lots of singletons too.
I hope some of that helps. Let me know what you find,
Colin