Of course he isn't safe in Russia. Going to Russia made a lot of sense at first, but it also turned him into Putin's asset. What would happen if a US president agreed to remove anti-missile batteries from countries surrounding Russia, and as part of the deal Snowden had to be handed over? I have no doubt that if this happened Snowden would be handed over to the US in the blink of an eye.
Another thing to keep in mind is that, at the time Snowden left, it was not clear how long protection would be nessasary. He might of thought that he would only need to wait out an election cycle or two, and public perception would have shifted enough for him to come back (I think it is still in the realm of reason that the winner of the 2020 presidential election will pardon; but the odds seem more remote now than at the time of the leek)
The other thing he has going is that I suspect a US president may not want him back as much as you may think. Neither side will be angry at the President for not getting him back (absent something blatant, like turning down a no strings attached offer from Putin); but prosecuting him would piss of a sizable chunk of voters.
Chelsea Manning was granted clemency when it was right time (end of presidency of Obama). It is possible for Snowden as well if right time will come. He has nice team of advisors and I think they will play that game to the end. However I am afraid he has to wait long time for this.
I definently think the end of a presidency is the most likely time it will happen. But, I do not see our current president doing it, which means waiting until at least 2024, and probably 2028 (assuming Trump is 1 term and his successor is 2). We don't know who the next president is yet, so the odds of this are still a toss up
It looks like neither party is gearing up to make civil liberties or defence corruption a political issue this cycle, so it really will be up to the whims of the next president.