E2E, try this, remove the cover off of the starter solenoid. Using a large screw driver, short between the 2 large posts (make spark a little bit, so, be ready for that). Does the motor turn over at normal speed now? If yes, your starter solenoid is going. If it doesn't, then with the help of a second person, what I want you to do is to measure the voltage at one of the terminals on the starter solenoid as you short them together. Does the voltage stay above 11.5 VDC? If yes, then you have either a bad cable between the starter and the starter solenoid or a bad starter. if the voltage drops below 11.5, then you have a bad battery cable between the starter solenoid and the battery.
Now, I have seen this only one time, but this is what happened. I had a friend that his truck would not start and was only giving him a click. I was thinking it was the battery, but it turned out that his A/C compressor froze and the compressor was preventing the engine from turning over. A simple thing that you can do is to temporarily remove the serpentine belt and see if the motor will turn over then. If I hadn't seen it myself, I would have called BS on it.