If one lives close by a shore, Magikarps are aplenty (and since every Magikarp nest also has a chance of spawning a Dratini every now and then, well, do the math). Haven't bothered yet to make a dedicate "fishing trip" (WINTER IS COMING so maybe I should while I still can), but for example around the local ferry terminal there's about 10 (or more) water-type spawns within about 100m of each other (noticed this while visiting the electronics store across the street from the terminal), many of which yield Karps.
But yeah, rural areas are screwed doubly. Not only do they not have any pokéstops, but pokémon spawn frequency is based on the amount of mobile users nearby: more exactly, based on the big data statistics Niantic pulled in 2012-3 when they were still part of Google and were planning their previous game Ingress, from which the stops/gyms are recycled (yes, they are user-added but originally to Ingress, Niantic is not accepting any new submissions for the time being because they are hard pressed to even respond to customer service requests). However, since everything is based on 3-4 years old data, anyone living in a district newer than that will find the amount of monsters quite lacking...
However, there's a nifty trick rural users can use. First, check that "Sightings" is empty and there are no 'mons or even spawns nearby (previously, these were the "someone's digging the grass" animations, nowadays one can use Ingress for the same, as exotic matter (XM) concentrations function as Pokémon spawn points). Then, pop Incense, or if a stop is nearby (and there are no Sightings or XM nearby), place a lure in there (or both). According to teh intarwebz, you should be rewarded by an influx of rare 'mons.
Just made it to level 22 btw. And fortunately Niantic folded and reverted the speed limit to 21 kph / 350m/min, so maybe I'll keep on being addicted.