I would check all of the wiring first incase anything is loose, check the starter is getting the right voltage, you can also take the starter out and connect up some jumpers to make sure its not faulty.
I find bad earths and bad batteries cause loads of starting issues.