in case you haven't tried it, look closely at the ends of the battery to solenoid and solenoid to starter leads. sometimes the crimp is not good.
degraded leads on an '05 i had would cause intermittent starting problems. testing is difficult because the problem only shows under high amp loads