Last year, I got lots of flat tyres (once every month or so). Finally, I talked to a bike mechanics, and he suggested that I should fit a larger tube inside my tyre. Then, he fitted a 28c tube in my 23c tyre. I have never had flats since then
The fix is actually reasonable. The larger the tube is, the less stretched it will be. That is, the tube's wall is thicker.