I read this whole thread, and something I ran into was not mentioned so I will throw it in;
I came across a 89 f350 cab and chassis with a dump bed, a friend bought it. It had been passed from one person to another, it would not start reliably. It had monster aftermarket cables on it, and the starter looked fairly new. The newest owner(the friend) decided it needed new batteries, and it still would not crank very well. So he put a new rebuilt starter on it, and it still would crank slow. So I ended up looking at it.
I decided after some voltage checks to change the starter again with a known good used one I had from my donor truck. As soon as I took it off I saw the problem. The mounting face where the starter mounted was rusty, dirty, and even had some aluminum corrosion on it from one of the old starters. I had to take a grinder and lightly run over the whole surface to get it down to good clean metal.
Well, that fixed that one, cranks over really good and starts like it's supposed to.