Greninja doesn't start being good until you get the Surf HM.
Incineroar and Primarina get strong Stabs upon evolution. Incineroar is reasonably bulky and gets a wild variety of moves via Level Up. Primarina has the highest unmodified Special stats of any Pokemon and gets solid utility moves and offensive coverage,
Greninja doesn't get any good attacking moves except maybe like, Extrasensory, until you get Dark Pulse from Luna, which is way later compared to Incineroar/Primarina getting their strong stab moves potentially before Corey.
As for Serperior, it doesn't get Leaf Storm until based Level 64, or something like that, It's in the 60s. Serperior has no support movepool to speak of and its piss poor offenses mean it doesn't do any relevant damage to anything. It's just too awful for too long.