Slow cranking can be caused by heat or voltage drop when hot. Running a relay to the solenoid can help.
I would be taking a reading of the voltage to the solenoid on crank cold and then hot.