Crystals do not spawn in random locations, but they do spawn after a random duration after they are picked up from one location. It usually takes from 1-45 minutes for a crystal to spawn in the same location again.
I speculate that there are more spawn points than the amount of crystals allowed to exist at any one time. I believe that, when a crystal is picked up from one location, it is replaced somewhere else by another crystal. In this manner, there are always the same number of crystals existing in the world, with their locations constantly random and shifting.
However I could be totally wrong, but I\'ve never noticed a total lack of crystals during busy times unless crystal spawning was actually broken at the time.