Agreed. English is a stupid language in many ways. Why do we shoehorn in gender when it is not relevant? Why does it deserve to be baked into the language? How the ever loving hell can you expect someone to understand someone else's gender implicitly in arbitrary scenarios? Even when you can see someone face to face, if they're not strictly following narrow gender norms, your accuracy is going to be dogshit. Why bother?
I understand the feeling that parading around pronouns and taking time out of our days to explicitly establish them (when it's generally, again, not relevant) is tedious and confusing. I barely have the brainspace to remember names. The obvious answer is to use neutral language whenever it is sufficient in context. Which is, again, most of the time.
I think it goes beyond the Internet, and beyond trans inclusion. Even if you're a bunch of cis folks talking face to face, it still makes sense to default to neutral pronouns. I don't always know (and certainly don't always care) what someone's sex or gender is face to face, and that ain't new.
The singular "they" is awkward, but it's like two hundred years too late to come up with something better.
I think it helps to think of browsing as a basic form of searching. Everything you can do in a browsing context, you can by definition do in a searching context...if the client doesn't suck. The information needed to browse is embedded in the tags.
So this strikes me as entirely dependent on your client software. A good client should let you browse by tags. You could add Dewey numbers as tags to start with, so you can browse that way if you want, then add any other tags that might be useful (like genres, for example) on top of that.
The only difference with tags in this context is that books will appear in multiple places.