I agree with Kent. When it doesn't start, try and see where there is and isn't power. Have you tried jumpering the starter solenoid when it happens? Have you checked the starter relay under the fuel tank? Sounds like the contacts on either could be corroded. These can be pulled apart and the contacts cleaned.

The control portion of the starter circuit finds a ground through the clutch switch to the sidestand and or the neutral switch. Neutral switch is under the engine. If you pull the clutch lever and also have the bike in neutral, the control portion of the starter finds a ground through the sidestand and neutral switches. If the bike still won't start when lever is pulled and bike in neutral, these probably aren't the problem since both would have to be failing.