I pick my starters based on which one I feel would be the best for an in-game playthrough. Just as Pokémon are better at battling than others, some Pokémon are inherently better than others for making your main story playthrough easier and/or more fun. For instance, I picked Bulbasaur in the generation I game remakes because it beats Brock and Misty and resists Lt. Surge. It can also learn the HM move Cut right off the bat. In the first game I played however, Pokémon Black, I picked Snivy because I thought it was not only the cutest the starter, but also because I looked up its hidden ability Contrary and thought it would be super fun for a playthrough. Of course, hidden abilities weren't available to starters then, but you could still unlock them with cheats, so I used an Action Replay at the time to do it and had a ton of fun with the Contrary Snivy line. It was just so fun seeing Pokémon using Growl and boosting my Attack and/or Sand-Attack and boosting my accuracy. I made sure to turn off all cheats when playing competitively however.
In the generation VI games, I also went by hidden abilities. I actually took the time to breed my starters and boxed the original ones in favor of the starters I bred with their hidden abilities. Thus, I chose Froakie because I thought Protean would be great, and it was. In the generation VII games, I chose Rowlet because I considered the likelihood to land critical hits in battle. I knew that the Rowlet line learned Leaf Blade at some point, which has an increased critical hit ratio. However, the affection system when maxed also boosts critical hit ratio as well. Thus, when I maxed Decidueye's affection, gave it a Scope Lens that I got early in the game, and had it use Leaf Blade, literally every attack was a critical hit and Decidueye KOed everything, making my playthroughs much easier. I chose Sobble mainly for the same exact reasons I chose Rowlet. However, unlike Rowlet, Sobble was designed strictly to be a critical hitter because of its Sniper hidden ability, Inteleon's signature move Snipe Shot, and ability to learn Focus Energy. This time, I didn't have to breed Sobble thankfully.
I had early access to an Ability Patch through Discord trade, which a contact was kind enough to give me for a Sword exclusive. Thus, I had a Sniper Sobble quite early and with Focus Energy combined with the ability Sniper, max friendship, and Snipe Shot, Inteleon literally KOed everything with a critical hit with one Snipe Shot. However, in the other generations, my process was slightly different. For instance, in the generation IV remakes, I picked Totodile because I felt Feraligatr was the best Pokémon statistically between the others, and in the mainline games, I chose Piplup because I thought Empoleon's Water/Steel was a great typing. In generation III, I picked Torchic simply because I thought it was adorable, but Blaziken turned out to be great anyway. In the generation VI remakes, I picked Torchic again not only because it was cute, but because of its hidden ability Speed Boost, which I bred for. For the upcoming games, I am going to wait for more information to come out and choose my starter based on its hidden ability, stats, and movepool to see which starter is better for an in-game playthrough.