A
remote starter switch could be real handy to troubleshoot this.
I made one with parts I had laying around.
Next time it fails, jump 12v from the main starter power terminal to the solenoid terminal and see if it cranks. The results from that little test will narrow things down in a hurry.