Next time it happens, tap on the starter a few times with a hammer and see if anything changes. If it cranks right afterwards it's likely the starter solenoid sticking. You'll need to replace the starter at that point.
If that doesn't change anything, check the voltage drop on your cables. Put your multimeter on volts and place one lead on the positive battery post, and then the other at the study on the starter solenoid that the battery cable connects to. Have someone crank the starter. Your reading shouldn't be much more than about 0.3V.
Repeat with one meter lead on the negative battery post, and another on a clean ground around the starter. A transmission bellhousing bolt head would work well. Also shouldn't be much more than about 0.3V.
Well, my starter started to make a grinding noise when I would try to start the car. This wouldn't happen every time; maybe once every 5 or so starts. I took the starter to Autozone and it failed their test so I threw on a new one and it seems to be working fine now. This new one has a much louder whine though which I thought was odd but I was told that it was normal.