+1 on battery cable corrosion. I recently cleaned and lubed my starter motor bushings, which made a great improvement in starting... but the battery cables look like crap and should be replaced. 40 year old open-end crimp connectors have finally met their match... I'll make my own cables with welding cable, good crimp-on ends, and marine grade heat shrink.
You can always bypass cables with good jumpers. If the motor turns freely but won't crank with two different starters then I would investigate the power source (B+ wire and ground)