IMO Federer will continue to struggle against Nadal because A) Nadal can and will play him into his weaknesses and B) He likes Nadal.
Federer has said that they dine together and have become friends. I think he lacks the killer instinct against Nadal, where Nadal elevates his game to play Fed. Nadal still plays like the underdog. I think the same for Nishikori where Fed has a losing record and they are practice buddies.
Even with Stan, where it appears Fed was once the big brother type, now Stan has confidence and Roger didn't have that killer instinct against him at MC. He could have won that second set but seemed to cruise. 3rd set, well.....
Fed has said in interviews that he thinks there should be more rivalry and dislike among the players. If I were him I'd stop friending players.
I do agree that a Nadal-Fed RG final with Fed winning would be amazing! I don't hold out much hope but it would be classic.