In addition to whats been mentioned, if your still on the original battery cables make sure to inspect them for corrosion and how clean the connections are.
Don't forget to check battery cable grounds as well. Your starter uses the engine block for its ground. Corrosion between the starter...