It sounds like you have tried another battery and rebuilt the starter - did you try a new battery AFTER rebuilding the starter? If you did, and if the starter was rebuilt properly, there must be an excessive voltage drop in the starter wiring. You need to use a voltmeter (actually, an old needle style works the best in this case) and measure the voltage drop from the lead center on the positive side of the battery to the solenoid connection of the starter while cranking. You should see less than 0.5 volts from one end to the other. If it's ok, go from the lead center post on the negative side to the engine block. There should also be less than 0.5 volts while cranking from end to end. If there is more in either case, you have a defective cable! (This is not too unusual with older battery cables - they tend to corrode at the battery end.) If the cables check out ok, measure from the starter solenoid to the engine block while cranking. You should see at least 10 volts. If you don't have that much voltage, you missed something with the cables, or the battery isn't really in good shape. If you DO have 10 volts or more, either the starter is bad, or there is an internal engine problem. You could try removing all the spark plugs and see what speed it cranks with them removed - it should spin over quite freely. If you see any water or other fluids spurting from a spark plug hole, you have found the problem.
Hope this helps -