Hae you tried hitting the starter motor with lump hammer? This often resolves any issues with sticking contacts, etc. in the solenoid and starter, don't hit it to the extent you're going to break things, but, a good hit with a hammer normally resolves a lot of starter motor issues.
Failing...