This would be a little subjective and aside from the criteria that you mentioned, I will also add one more and that is competition. For example, even if a water type starter is good, I might not put it as the best starter simply because Gyarados exists in the same game and Gyarados is the best in game Pokemon ever and I will fight anyone who says otherwise
Kanto
Kanto is the one with the most interesting choices. I'm not too familiar with the Kanto games but according to the first reply on this post on reddit, Bulbasaur is the best one in rgb due to having broken moves and Charmander being the worst due to being pretty meh. In frlg, Bulbasaur is still the best and now, Squirtle is the worst because it's outclassed
Also, refer to that link if you want further opinion since I compared mine to the ones posted there and I will also make this answer based on that post
Johto
This one should be obvious. Chikorita is easily the worst because grass types are usually mediocre and its movepool doesn't help it at all. Because of the Red Gyarados, I would have to say that Cyndaquil is the best simply because Red Gyarados is mostly better than Feraligatr especially in gen four when it gets dragon dance by level up
Hoenn
In Hoenn, Mudkip is easily the best starter and even though Gyarados is available, Swampert can give it a good run for its money. The biggest advantage here is that there are no notable grass type traininer in the game. This means that Swampert would either have a positive or meh matchup and not a single negative one. For the worst, it is easily Treecko. This is simply because grass types aren't the best offensively and Sceptile not really having that many moves to choose from
Sinnoh
This one is a no brainer. The best starter is easily Chimchar. Anyone who has ever played dp would know that the only other choice for a fire type is *** Ponyta, a Pokemon that is mediocre at best. This was remedied in platinum and the remakes since you can get a Houndour or Magmar in the game. However, Infernape is still far better than the newly available fire types and it even gets fighting type which is among the best offensively. For the worst, it is definitely Piplup. That's because it doesn't really get that many good matchups and once again, Gyarados exists and is ten times better. Empoleon does have some nice qualities being a steel type but that only truly comes into play against Candice, which other Pokemon can fill
Unova
For both bw and bw2, the best and worst are Tepig and Snivy based on the posts from the link I put above. In bw, Tepig is easily the best as it can pretty much solo the second and third gym on its own after it evolves. Oshawott is pretty meh in both games and being a grass type, this makes Snivy the worst because aside from its type, it also doesn't really have the best offensive stats. In bw2, things are pretty meh between the starters. Oshawott is still meh and Tepig still makes the early game a bit easier. However, Snivy does have an advantage against the eight gym due to being strong against water types but at that point, you probably should already have something to deal with water types
Kalos
Here, it doesn't really matter since you pretty much get two starters for free anyway. Just for the sake of answer, the best starter is a toss up between Froakie and Fennekin. Except for a couple disadvantageous fights aagainst a couple of the gym leaders, both are actually really strong and hit hard. While Greninja should be infinitely better, it doesn't have access to protean which evens up the playing field. The worst is most definitely Chespin just because the other two are really strong
Alola
Popplio is easily the best one here. Primarina being a water and fairy type really helps out because fairy type is incredibly balanced, not sarcastic at all -_-. The worst would probably be Litten simply because it doesn't really have too many advantageous fights. It either has a meh or bad matchups especially with the fire, rock and dragon trials
Galar
Forgot about this one. According to this video, Scorbunny has the most positive matchups while Rillaboom has the least, which makes the former being the best and the latter being the worst
Hisui
According to this this video, Hisuian Oshawott is the best starter and the worst is Cyndaquil