Have you tried simply telling people you don't want to talk?
"Sorry mate, I'm reading" is hardly difficult.
This is actually very difficult for a significant number of people. Some people really struggle with saying "no" or enforcing boundaries, some people are very wary of negative interactions with strangers. If you are relying on people to explicitly push back on you, rather than reading more subtle queues, you are quite likely adding stress to someone's day.
If you're reading it's kinda obvious, and it's pretty annoying to be interrupted.
A dozen times a day, every day? No thanks.
Why would you initiate talk with me in the first place, when we're in a situation where I have not explicitly chosen contact with you? (say on a train)
Also reading something would be a clear signal (also to me) that a person doesn't want to get disturbed.
When I have to tell you that I don't want to talk, you have already disturbed me. So, taking the cues here clearly is on you, not on me, at least in my opinion.
Edit: To clarify a bit, I'm talking about places with involuntary social contact, like for example a train or a grocery store. I go on a train because I have to get somewhere, not because I want to interact with people. It would be a different scenario say in a bar.