Next time it happens try this,
Just tap the body of the starter while someone turns the key, if it starts then you know for sure it is the solenoid sticking. I have that issue with mine and it happens after around every 20th or so start up. I plan to remove and clean or replace starter if it ever gets worse.
You can use a hammer or long pipe or just about anything to give the starter a couple good raps on its side.