A load test on the battery might be helpful. And a check of the specific gravity too, to make sure it really is charged and happy.
If the battery checks fine, and the cables are good, then you might want to check the starter. I had one once that drove me crazy, when hot. One of the brush springs would loose it's ability to hold the brush down for contact, so it would start the truck only on half the starter windings.
You might also check your timing too.