From my experience, I think that every time that you take a step, there is a small percent chance that grass will begin to rustle (or a dirt cloud will appear or whatever), which is why running back and forth works and why the time between rustles is so erratic. It would be really nice if an ability made grass rustle more often, though.
Although I don't yet know of a way to get the grass to rustle more often or more consistently, I do know of a handy trick involving rustling grass. A rare Pokémon spot like rustling grass will never appear more than 5 spaces away from your main character. If you ride the bike back and forth with the outermost edge of tall grass being 5 spaces away, only the tall grass on the edge will rustle. This means that you can reach the rustling grass without crossing any normal grass, eliminating any chance of a normal wild Pokémon appearing before you can reach it. (Note that the amount of tall grass within 5 spaces of you does not appear to influence how often grass rustles. Every time you take a step, the game seems to run a check to see if tall grass will rustle, and then if the check is true, it selects a random space of tall grass within five spaces of the character to begin rustling.