12.5 volts on the positive starter terminal that goes to .3 volts when cranking.
Sure sounds like a bad cable going between the positive terminal on the battery and the positive terminal on the stater.
I don't know what the cables and terminals here look like, maybe you can use that ground cable you just replaced and try to use it to replace the positive cable. Or if you can put a jumper cable from the positive terminal on the starter to the battery, that should make it work better. (Might not be a good enough connection to start anything, but if it helps then you're on the right track.)
Usually the problem is right at the ends of the cables, where the ends are crimped on.
You can think of your starter circuit like a hydraulic circuit, with the battery being the pump and the starter being the motor. The problem here is you have a bad restriction in the circuit somewhere. With no "flow" (amps) through the circuit, the "pressure" (voltage) equalizes and everything pressurizes up to 12.5 volts. Once you start flowing (trying to crank the engine), there's supposed to be 12.5 volts on the positive side of the starter and 0 volts on the negative side, so a 12.5 volt drop across the starter. (Same as there's supposed to be high pressure the inlet of a hydraulic motor and no pressure on the return.) But instead of the volt drop being across the starter, it sounds like it's across the big positive cable. Ergo, there's a restriction in that cable.