To expand a bit on Ronnie's post, if you have a loose or corroded connection between the starter and the battery (it doesn't matter whether it's in the positive or ground half of the circuit), that joint can have significantly higher resistance than the rest of the circuit. That resistance creates a large voltage drop when a high current flows to the starter, which in turn reduces the motor's speed and torque.
When you measure voltage with a multimeter, you're using a device with a very high input resistance (generally around one million ohms), so only a very tiny current flows into your meter. That tiny current, across even a high resistance, produces almost no voltage drop, so the problem isn't evident by measurement. However, when you engage the starter -- a device with a relatively low resistance, on the order of 0.05 ohms -- a very large current flows, which creates a large voltage drop across the bad, high resistance connection.
If you've been measuring voltage at the starter with the positive cable removed from the starter, this may be your problem. Put the positive cable back on the starter, make sure the aircraft is VERY securely chocked and tied down, turn off the fuel supply so the engine can't start, then measure starter voltage (positive probe on the starter, negative on the battery) while it's actually turning over the engine. If you get a low reading (below ~10V), you're on the right track. You can use crocodile clips and extension wires to your meter without affecting the readings.
Next, determine which side of the circuit has the problem (positive or ground) by taking a measurement between the positive posts of the battery and starter, and between the negative posts of the starter and the battery (again, both measurements done while cranking). With this measurement, you shouldn't expect to see battery voltage; instead, you'll be indirectly measuring resistance. If the larger measured voltage is in the positive side, you should suspect any of the cable connections or contactors from the battery to the starter. If it's in the ground side, you should suspect any connection, strap or cable between the negative posts of the starter, engine block, airframe and battery.
To test battery and starter contactors, measure from input to output, again while cranking (positive probe closest to the battery). This will tell you if the contacts inside are making a poor connection. There should be almost no voltage drop across a contactor (no more than about 0.2 volts).
In this way -- measuring the voltage drop across small portions of the circuit during cranking -- you can narrow the problem down until you have only a single element that must contain the bad connection. Test every cable, strap, crimped connector, connection post, etc.