The only solution I've found so far is to close the application completely and relaunch it. This problem extends to Pokéstops not refreshing until you've moved far away enough and restarted your application.
Reinstalling the game will not solve the problem, personally I've reinstalled the game over 10 times and had it run from both my SD card and Device Storage.
Running on Samsung S4 Android Lollipop 5.0.1
Pokémon spawns in Pokémon Go are random, so it could just be bad luck if you don't have any near you, and you might want to try again later. However, the spawn locations are also weighted based on population density. Much like in Niantic's other game Ingress, Pokémon Go uses Google Traffic to get the traffic density in each area by tracking the GPS locations of Android phones. The more people that frequent an area, the more Pokémon there will be there.
Ironically, the best way to find wild Pokémon is to go to the city, not the wild.
I believe that PokéStops are also weighted a bit more heavily, because I saw many Pokémon spawn directly on top of my church in the country, but I suppose that could just be because a few hundred people spend a few hours there every week. Regardless, this could be a useful plan if just because many people go to those locations.
If you are really in the middle of nowhere though and unable to find fellow humans, the best plan would be to wait. Even if there are no Pokémon near you when you start the app, just having the app open will cause at least some Pokémon to spawn near you. I don't think I've waited long without having any Pokémon near me, so I would just go look for the one or two that are nearby, because more should spawn while you catch those.
And then if you don't want to move or wait, you can always just pay money. Using Incense will make more Pokémon spawn near you for 30 minutes, so that's a pretty good solution for the rich farmer. If you are at a PokéStop and you want more Pokémon, you can also use a Lure on one and it will cause more Pokémon to spawn by that PokéStop. If you're lucky, someone else may have already used one on a local PokéStop and you can benefit for free.
Best Answer
"Worthwhile" depends on several factors, such as what other pokemon you'd like to spend that stardust on and how easily you can farm magikarp for another gyarados. What I can answer is whether this gyarados is better than a lower IV one with better moves:
It isn't.
Good moves are far, far more important than IVs. The difference between 100% and 0% IVs for a level 25 gyarados is only about 250CP, and that's the most extreme case. The difference between a perfect gyarados and a good (~80%) gyarados is less than 50CP.
In comparison, having hydro pump instead would offer a massive increase in damage output. Even dragon pulse would still more than make up for losing a bit of CP- I'd still consider my weaker gyarados with lower IVs better than yours.
I'm not factoring in bite vs dragon breath as both have practically the same speed and damage, with no STAB. It comes down to what you're fighting most.