Basicly almost all top players from his era.
Yes. Against Safin he has a great record (although most matches were pretty close, at least before 2006).
The only player from his generation who managed to have a respectable H2H against Federer was Nalbandian probably. Federer leads 11-8 (won the last 3, they were 8-8).