I had the same problem with my starter last year. I figured that as I attempted to use my Trooper as a submarine once, that with all the water etc in the starter maybe there was some corrosion. I took the starter and solenoid off, cleaned everything up and bench tested it all before reinstalling. Everything worked fine, until it was reinstalled and the same problem. I even used a screwdriver a couple times, across the two terminals on the solenoid to get it running.
Not too long after thinking I had it all sorted out, the ignition went dead. After tracing and testing every wire, I found the problem was with the master power swtich ... so I bypassed the master power switch and everything worked fine for a while. The starter started acting up again .. so I just replaced it with a new one. I still have the master power switch by-passed though .. just have to make sure all electricals are turned off when I'm done for the day.
The last time my starter acted up the Trooper was just coming out of the shop at Mudslinger Motorsports. Trevor at Mudslinger had a starter in stock and $260 later, I had a new starter. Haven't had a single problem since.