From what you described my first thoughts are the switch on the starter and or the contact on the starter case. You get an arc between those two contacts every time you crank the motor. They eventually wear out. Take the two screws out that hold the switch on and see if either contact has "dished" out, to the point of making no contact. If this is the problem, the switch is an easy fix, the post on the starter is soldered into the field coils on the inside and requires that the starter come completely apart.