The other thing to check next time it happens is to measure the battery voltage when you try to start it. Check it now while it is working then check it when it doesn't work and see if there is any change. If the battery voltage is a lot lower when it does not start, that would point to the battery going bad. If the battery voltage is good, then it may be a wiring issue someplace. Sometimes wires can corrode underneath the insulation at either end. They will look fine from outside, but if you examine them closer, you'll see the problem. One way to trace those sorts of issues is to check the voltage drop acros the cable. Put a voltmeter from say the + post on the battery to the fuse box + terminal or to the power stud on the starter and then try to start the engine. If you see more than a few 10ths of a volt drop, the cable may be bad.