Keep a lid from an oil bottle in the glove box.
My starter started acting like that untill one day my wife and I were on a weekend road trip and I'd just filled up the tank for the drive home and the truck wouldn't start. Well, I looked around and found an oil bottle lid lying next to the gas pump, so I took it and dropped it down over the button on the starter. That cap has been there for the last two years and Ive not had a single problem with the starter.