I believe it's much simpler. R2 has the map, he's Luke's astromech droid after all. Knowing what may come by force use (precognition) he foresaw Ben, now Kylo Ren, and his thirst to finish his grandfather's job.
So he fragmented the map to keep his location hidden, but as another person had posted left breadcrumbs in case he was truly needed again.
We must remember R2 was new back in Episode 1. His age as a droid should be relevant as his data banks have never been purged. So him having the galactic map in full should be no surprise.
Now as for that map fragment, we see in Rey's flash that he touched R2. Subsequently leading a story arc on how that little R2 unit chose to go to low power and stayed that way until the right information was collected.
I saw someone mention on why the First Order didn't have this map. They have a fragmented map, something they scavenged from the corpse of the Empire. So its safe to say that during Empirical rule whole systems were negated and destroyed so as to no longer offer harbor to a runaway Jedi.
Both sides are rebuilding, trying to get themselves operating again to their old powers. So things like starmaps would be more for local starship captains than new orders right? You don't just know the known world once your in power, you ultimately find that information out from your dealings with others.
Though JJ had said R2's reveal was for cinematic effect, which is OK with me as it was a pretty important artifact for the majority of the film. Negating the drama would've put things too fast for this one movie, which is part of a trilogy, so really you can't fault them too much for that.