I think Andrew may be pretty close. A good starting point at least. One of the most common starting problems is the battery ground switch. You can bypass this notoriously unreliable switch by moving the ground strap from it's large terminal to the other large terminal that goes to the battery. (The ground strap & the battery cable both on the battery cable terminal.)
Other possibilities are that the connections of the battery terminals are corroded, actually lead oxide, & not making good connection. It's not hard to clean all connections, both ends of the cables, with emery cloth or a stiff wire brush, coat them with a no-corrode-grease & retighten. Vaseline is ok if nothing else is available.
If you have the original "helmet" type battery connectors, they rely on a tapered fit of the sides to make good contact. Over time, corrosion & stretching of the connectors can cause a loss of contact with the sides of the posts so that only the very top of the post is making contact. The top alone cannot carry the necessary current. This would be made worse by heat expansion. If the connector seems to bottom out on the top of the battery post before it firmly grips the sides you can put thin lead shims around the posts to tighten the helmet to post fit. Some replacement batteries do not have terminals of the proper size & taper to fit the helmets correctly.
Better yet is to replace the cables or at least the connectors with modern type clamps. Don't use the type of connectors that just clamp the cable end with a couple of bolts. For a small sum, an auto electric or battery shop can put on good connectors that are crimped on to the wire ends.
Don't forget to check & clean the heavy ground strap connections between the engine & the frame.
You can check the starter relay in the engine compartment by bypassing it. Jumper the two large terminals with a single wire from a battery jumper cable. If this part is bad, the engine will crank when you make the connection. Stay cool, & don't jump & let the jumper ends get loose to touch ground. Make & break this connection quickly to prevent unnecessary arcing.
A clue can often be found by turning on all the lights for a while & feeling the various connections for heat. There should be none unless it is a "bad" connection.
If none of this works, have an auto electric shop check the starter. Bad windings, bad brushes, worn bearings that let the starters armature drag on the field poles, are possibilities.
Start at the top of the list & work down, an item at a time. If you want true reliability I would suggest doing all of the above even if you find the problem before reaching the end of the list. The system is only as good as it's weakest link. There are quicker ways to isolate the problem by measuring voltage drops across the various parts of the circuit, but chances are that it all needs to be done as a part of general maintenance. Fixing a piece at a time as things fail can be very frustrating.
D