Giorno is so lame that Bruno ended up being the de facto protag.
Diavolo is so lame that the only really memorable thing about him is his memetic Stand.
Worst JoJo, worst villain.
Giorno isn't really a bad character, he's just not as good as he could be. He's more someone who holds the group together, instead of a leader, and I think that's actually an interesting choice for a protagonist. He brings out the best in others.
Diavolo is the worst main Jojo villain, but that's only because every main Jojo villain is really great. Fundamentally I don't see why people would rank him as much lower than, say. Kars.
Though I'd put Pucci and Kira above Kars if I was feeling more objective.