Even after Major League Baseball revoked more than 60 million All-Star votes, the results still look a bit flawed. There’s a few major problems with All-Star voting. One is that they’ve been releasing the ballots way too early in the season. You could vote for a player in April after he’s been on the field for three weeks. This is not enough time to determine an All-Star. Second, you can’t vote in the parks with a ballot anymore, it’s all electronic. As a kid I loved collecting the ballots when attending games and punching out the holes with a key or a pen and comparing them with my friends. That aspect of voting is sadly gone forever and I’m glad I held onto those ballots.

My biggest issue with the All-Star voting process is that anybody can be voted into the game. It’s a popularity contest when it should be a skills competition. I’m sure thousands of fans have noticed that Derek Jeter isn’t on the ballot and have tried to write him in. These people shouldn’t be allowed to vote, yet here we are, pulling 60 million ballots because “fans” think they understand the game.

I hear myself sounding like a curmudgeon, so instead of complaining about how the “old days” were so much better, I’ll let my brain do the talking and give you the most deserving All-Stars at each position based on their fantasy numbers.

C: Steven Vogt (OAK) – He’s been an RBI machine and leads all catchers in that category with 50, plus he’s the positional leader with 13 home runs. He’s also first base and outfield eligible but has played 51 of his 61 games (through Friday) at catcher.

1B: Paul Goldschmidt (ARI) – Seriously, would it be anyone else? He’s the no. 1 fantasy player and the only first baseman with 50 or more runs and RBI plus leads all one-baggers with 11 steals. Also, if you’ve read my bio, he’s my fantasy first baseman so there’s no way I’m leaving him hanging.

2B: Jason Kipnis (CLE) – He’s has had a huge turnaround after an incredibly dismal April. He’s second behind Dee Gordon in batting average for second basemen with a .341 mark and first in OPS with .923. Earlier this year when he couldn’t get his average to .200, I traded Jake Arietta for Dee Gordon and dropped Kipnis. Oh well.

3B: Todd Frazier (CIN) – It’s a toss-up between him and Toronto’s Josh Donaldson, but Frazier is ranked higher so that’s where we’re going. He’s the only third baseman with 20 homers and he’s on pace for a 20/20 season with home runs and stolen bases. He can also go smile-for-smile with Mike Trout.

SS: Jhonny Peralta (STL) – Another toss-up between him and San Francisco’s Brandon Crawford, as Hanley Ramirez is eligible at shortstop, but has played 55 of 56 games as an outfielder for Boston this season. Peralta is incredibly consistent as per usual, hitting .306 with 10 homers and 38 RBI.

OF: Bryce Harper (WAS), Giancarlo Stanton (MIA), Mike Trout (LAA) – This one was easy, these three guys have taken over as the face(s) of baseball and are terrifying to pitchers each time they step to the plate. Harper, despite nagging injuries has continued to produce like a superstar, Stanton leads the majors in home runs with 25 and is on pace to get pretty darn close to the old Maris record of 61 and Trout represents everything that’s great in baseball today. He’s the new Ken Griffey, Jr. — the superstar who can hit 400-foot home runs, make crazy diving catches, rob homers at the wall and run the bases like a sprinter. If Royals fans overtake the ballot box so much so that Trout isn’t voted as a starter, then MLB Commissioner Rob Manfred will have to step in and overrule the decision.

SP: Max Scherzer (WAS) – No doubt here. The guy just threw a no-hitter that would have been a perfect game if Pittsburgh’s Jose Tabata didn’t pull the biggest mean-guy move leaning into a pitch at his waist and getting nicked on the elbow. I fear for Tabata’s safety when he steps to the plate against the Nats again. With the no-hitter, Scherzer lowered his league-leading ERA and WHIP (among starting pitchers) to a miniscule 1.76 and 0.80, respectively. His K/BB rate shot up as well after striking out ten men and walking zero. The man with two different eye colors is about to be the man with two different leagues watching as he takes the hill to start for the NL in Cincinnati for the All-Star game.

RP: Dellin Betances (NYY) – Nobody dominates like this guy. He’s a strikeout machine — really just a plain ol’ out machine — sitting pretty with a 0.26 ERA and 0.80 WHIP. How does a 0.26 ERA calculate out? He’s pitched 35 innings and allowed one earned run. Now that you’ve picked up your jaw off the floor I can continue. Only recently did the Yankees put him at closer where he’s continued to be outstanding, picking up three saves in as many chances.