Just some basic ideas for you:
Check your connections at the battery and at the starter. Also pay extra attention to the ground side of the circuit. A bad ground can cause all kinds of problems. If you have a multimeter you can check for starter draw while cranking by placing an amp clamp around the positive cable and observing the amperage draw(do not hook your meter in series with the main battery cable as it will blow the meter or fuse as most are only rated to 10 amps). I would estimate that if it exceeds the amperage rating of the battery (approx 300 amps) then you have an issue with a defective starter.