I don't really get this argument discrediting Federer because of who he defeated before Nadal and Djokovic broke onto the scene. The fact that Djokovic, Nadal and to a lesser extent Federer have won Grand Slams in the last few years is down to two things: (a) the fact that they are three of the greatest players of all time but also (b) the current generation really aren't that consistently close to their level. If you want to say that Federer only defeated the likes of Roddick and Hewitt, then fine, but you also have to acknowledge that the current generation of contenders should really be competing better against three 30+ players than they are currently doing so.
Also, Federer tended to dispatch those players away with great ease in his early career, so it's hard to see how he could have done much more. If you are one of the all-time greats and you end up playing against players in GS S-Fs and Finals who are not of the requisite standard, you should steamroller them, and Federer did exactly that.
And on the subject of Head-to-Heads, Nadal leads Federer 24-16 and Djokovic leads Federer 27-23. However, Nadal leads Federer 14-2 on clay, whilst Federer leads 3-1 on grass and 11-9 on hard surfaces. So on that evidence, the reason why Nadal holds such a significant lead on Federer in H2H is mainly because of his dominance on clay and due to the fact that the grass season is way shorter than all the other seasons. Also, Djokovic has won 7 out of the last 10 matches with Federer since Federer turned 34 so their H2H record is actually more even when you control for Djokovic playing against old-man Federer.