I'm not exactly sure where Keldeo should really be, but I do think it is somewhat worthy of S-Rank. Still, not so sure.
On a note of "Let's fill the D-Rank with some more Pokemon"...
I'd like to nominate Ninjask for D-Rank. Ninjask is more or less only known for his famous specific niche: Passing Speed boosts. Ninjask is pretty decent at his annoying niche, which can work, but he has very noticable flaws that make him mediocre elsewhere. These include: SR weakness, Taunt bait, suspectible to phazing, etc. He is also only capable of only doing his very specific task and fails at anything more than that. So yeah, overall, Ninjask is more or less a niche Pokemon, and is decent at doing it. Ninjask for D-Rank.
I'd also like to nominate Quagsire for D-Rank. Quaggy is indeed usable in OU, but like Ninjask, he holds a very specific niche in the OU metagame. His only good niche is checking boosting sweepers: this includes SD Terrakion, MoxieMence, and I guess SD Scizor as well. Outside of that, Quagsire is pretty bad. He gets his ass handed to Keldeo, Tornadus, Breloom, and all the other special threats or Grass-types. Nonetheless, like the ninja bug, Quagsire is a Pokemon who, although usable, has a very specific niche. Quagsire for D-Rank.