There is a near 6 year age gap between Federer and Djokovic so their primes never coincided. Both won more when one was in their prime and the other wasn't. That's an unavoidable issue but it's also a fact and all things being equal, it's fully expected that the younger player should end up with better results. We'd have to have them all the same age to see the true picture and, even then, primes aren't always at the same time but Federer's clearly well past his for a long, long time now.
The weak era goes beyond these 3 players, it's the whole field not named Djokovic, Federer and Nadal that is weak and Federer is ancient as tennis players go. He's still giving Djokovic very tough matches for the most part and that says a lot, it says even though Djokovic fans go, but hey, look at the winning h2h, well look how hard it is for him to beat an ancient old geezer. Even prime Roddick beat Djokovic more than vice versa and ended with a winning h2h 5-4 and they never once played on grass in Roddick's prime but I'd love to see how that would've gone. Djokovic has a 2-0 losing record against Safin and Safin was past his prime in 2007 when he beat Djokovic at Wimbledon. Djokovic had a hard time almost every match against Haas who beat him 3 times (twice on grass), all times completely outside his prime and he was ancient when he beat him at Miami 2013. Djokovic never played any of these guys in their primes and I guarantee if he had people would see the prior decade had a much stronger 2nd tier field than now.