Sometimes a good cleaning will work wonders. But I have doubts about this being a done deal.
But on the bright side, I think you're narrowing down the problem. So that's a good thing.
Now about that 11.5v. That's a bit low. And a continuous supply of 11.5v will overwork a starter. That in itself could easily cause the whole slow cranking issue. And will kill a starter in the long run.
I'd check the resistance between the positive battery terminal, and the starter terminal. Unhook the battery first, and clean the terminals.
Then check resistance. If the battery is around 12.5, and you're losing a volt. Then my guess is, you're looking at either a bad cable, or a bad solenoid. They'd have to be checked individually.