On Sunday, Major League Baseball announced the rosters for the 2017 All-Star Game, with all but the five candidates for each league's Final Vote now decided. These picks are all absolutely terrible.

OK fine, many of the players selected by fans, the league, and fellow players deserve their spots in the midsummer classic. But the various voters involved still missed on multiple fronts, both in terms of who should be on the roster, and who should be starting.

For selection criteria, I considered both 2017 performance and overall track record (leaning on one without considering the other doesn't make much sense). I didn't sweat positions quite as much as the league does; in the National League for instance, there are about 90,000 incredible third basemen, so I'd rather have an overload of All-Star-caliber players at that position than lesser options at, say, second base. Finally, I leaned on advanced stats more than traditional stats. So a pitcher who's, say, 9-2 but with bloated numbers elsewhere wouldn't get my attention as much as, say, a starter on a bad team getting everyone out without receiving run support, or a dominant, multi-inning reliever who's been thriving all season long. Other than that, I just made sure to name at least one representative from each team, per league rules.

Here then are my 34 All-Star picks for each league. If you hate my picks, please call me all kinds of terrible names in the Comments, or on Twitter @jonahkeri.

NATIONAL LEAGUE

Starters

C Buster Posey, San Francisco Giants

At .333/.410/.513, he's on pace for his best season since his 2012 MVP campaign.

1B Paul Goldschmidt, Arizona Diamondbacks

By the numbers, he's been not only the best first baseman in the National League but also the best player in the National League, hitting .315/.435/.587 while playing excellent defense and even ranking among the league leaders in steals. Yet Goldschmidt somehow finished just third in fan balloting at his position.

2B Daniel Murphy, Washington Nationals

Along with Josh Donaldson, Murphy might've been Patient X for the flyball revolution that's made a slew of decent hitters into superstars during the juiced-ball era. Except he'll also contend for batting titles every year while hitting loads of home runs.

3B Nolan Arenado, Colorado Rockies

Adjust for the influence of park factors and Arenado hasn't even been a top-five offensive third baseman in the National League this year. But in a year that's given us a slew of great candidates at the hot corner, Arenado gets there on track record, and also the most spectacularly amazing defense we might see from any NL third baseman for years to come.

SS Corey Seager, Los Angeles Dodgers

Hitting a killer .300/.399/.512 as a 23-year-old in his second season playing a premium position, and it feels like nobody's even talking about it.

OF Bryce Harper, Washington Nationals

OF Marcell Ozuna, Miami Marlins

OF Charlie Blackmon, Colorado Rockies

Other than at first base, the fans did a pretty great job of picking the most worthy NL starters. Harper's on his way to his second transcendent season after teasing us with three merely good ones. Ozuna's found yet another way to make his former boss look bad, turning into a potential 40-homer star two years after the Marlins demoted him and Jeffrey Loria tried to get him traded when his value was at rock bottom. Like Arenado, Blackmon does benefit from having Coors Field working to his advantage, but let's not get too cute here: He's leading the league in hits, triples, and total bases out of the leadoff spot for a Rockies team that's been one of the most pleasant surprises in baseball.

SP Max Scherzer, Washington Nationals

Clayton Kershaw still holds the crown for best pitcher in baseball by dint of his long-running dominance, and Scherzer's benefited from beating up on some weak competition. But let's not go too far in downplaying the Nats ace's heroics: 120 2/3 innings pitched, 163 strikeouts, 26 walks, 67 hits(!?!?!?!?!!), a 1.94 ERA, and an opponents' batting line of .159/.223/.280.  

Bench

C Yasmani Grandal, Los Angeles

Tied for the NL lead for most homers by a catcher, plus his defense never gets the full credit it deserves.

1B Joey Votto, Cincinnati Reds

1B Freddie Freeman, Atlanta Braves

1B Anthony Rizzo, Chicago Cubs

1B Ryan Zimmerman, Washington Nationals

Yes, we'll have a hard time finding playing time for five first basemen. But who could we possibly leave off this list? Besides, we could put Ryan Zimmerman back at his old position to terrify everyone in the fifth row behind first, and toss Joey Votto in at Mountie.

2B Josh Harrison, Pittsburgh Pirates

Zack Cozart is the runaway leader for the title of All-Star Most Likely To Get Traded, but Harrison could be right behind him as the Pirates fade further out of the playoff picture and look toward the future.

3B/2B Anthony Rendon, Washington Nationals

3B/2B Justin Turner, Los Angeles Dodgers

3B Kris Bryant, Chicago Cubs

3B Jake Lamb, Arizona Diamondbacks

Yup, five first baseman and five third basemen. Again, though, that's just how the distribution of worthy All-Stars has gone this year in the NL. Rendon and Turner can always spot at second, Lamb would be an absolutely terrifying ninth-inning pinch-hitter option against a right-handed closer, and Bryant's merely the defending NL MVP.

SS Zack Cozart, Cincinnati Reds

He's getting a freaking donkey!!!!

OF Cody Bellinger, Los Angeles Dodgers

OF Michael Conforto, New York Mets

OF Aaron Altherr, Philadelphia Phillies

Bellinger might challenge for the Rookie of the Year/MVP Ichiro combo if he keeps up his Ruthian pace. Conforto's our lone Met thanks to plague-levels of injuries (Jacob deGrom just missed the cut). Altherr is our Phillies representative, mostly because we're already overloaded with pitching options.

Pitchers

SP Clayton Kershaw, Los Angeles Dodgers

SP Zack Greinke, Arizona Diamondbacks

SP Stephen Strasburg, Washington Nationals

SP Carlos Martinez, St. Louis Cardinals

SP Jimmy Nelson, Milwaukee Brewers

SP Alex Wood, Los Angeles Dodgers

Four of these six are already on the team, so let's focus on Nelson and Wood. The emergence of Nelson (and recently injured fellow righty Chase Anderson) might be the biggest surprise on a first-place Brewers team that's full of them. After toiling in perpetual mediocrity since his 2013 major league debut, Nelson altered his delivery and became a bona fide, racking up more than four strikeouts for every one walk he's issued this season.

Meanwhile Wood might be the most egregious snub of all. Among pitchers with as many innings pitched, Wood ranks third in the National League in strikeout rate, and leads the majors with a 1.83 ERA (he's also 9-0, if you care about such context-dependent trivia). Yes, a brief DL stint limited Wood's innings, leaving him just short of qualifying for the ERA title (and thus below voters' radar). Still, the Dodgers balked at paying Zack Greinke $200 million-plus because they worried about committed that many years and dollars to any pitcher. Instead, they found a worthy replacement for a fraction of the price, who's every bit as good as Greinke on a per-inning basis...and maybe even better.  

RP Kenley Jansen, Los Angeles Dodgers

RP Corey Knebel, Milwaukee Brewers

RP Felipe Rivero, Pittsburgh Pirates

RP Greg Holland, Colorado Rockies

RP Brad Hand, San Diego Padres

What on Earth would Felipe Rivero have to do to make the All-Star team? How are 51 strikeouts in 45 innings, with 21 hits and two homers allowed, plus a 0.80 ERA, not enough? Jerome Holtzman made us all really stupid, man.

AMERICAN LEAGUE

Starters

C Alex Avila, Detroit Tigers

One of the biggest beneficiaries of MLB's current swing-for-the-moon revolution, Avila has launched a home run every 15-plus at-bats this season. Combine that newfound skill with a .400-plus batting average on balls in play and his usual sky-high walk rate, and you've got an offensive dynamo who's piqued the interest of trade deadline buyers.

1B Miguel Cabrera, Detroit Tigers

I just couldn't do it. As fun as it's been to see players like Justin Smoak, Yonder Alonso, and Logan Morrison go from offensive zeroes to first-half stars, their complete lack of track record made it impossible to tap any of them as an All-Star starter. Cabrera's fought through injuries this season and is hitting a pedestrian .263/.357/.451. He's also one of the 10 best right-handed hitters of all time. Let him play.

2B Jose Altuve, Houston Astros

3B Jose Ramirez, Cleveland Indians

Manny Machado's been awful this season, clearing the way for the first Indians player to be voted a starter by fans since 2001.

SS Carlos Correa, Houston Astros

If the Astros keep steamrolling the rest of the American League, and the best-player-on-best-team brigade seizes control of MVP voting...how the hell will anyone decide which Astro to vote for? Houston's on its way to its first division title in 16 years because of Correa...and Altuve...and George Springer…and Marwin Gonzalez...and Lance McCullers...and Dallas Keuchel...and a loaded bullpen. Just 22 years old and already being mentioned among the game's elite, Correa might emerge as the face of the franchise. But the Astros are what they are because Correa's got a hell of a lot of elite company on the roster.

OF Aaron Judge, New York Yankees

OF George Springer, Houston Astros

OF Mike Trout, Los Angeles Angels (injured)

Aaron Judge just hit 14 home runs in the time it took to write this sentence.

DH Corey Dickerson, Tampa Bay Rays

Leading the league in hits, on pace to approach 35 homers, offensive catalyst on a surprise team that might go from last place to a playoff berth. Future performance aside, the Dickerson-for-Jake McGee trade that happened January 2016 looks like one of the biggest win-win deals in recent memory.

SP Chris Sale, Boston Red Sox

Factor in home ballpark and strength of schedule, and Sale's been the best pitcher in all of baseball this season, which is saying a hell of a lot considering how incredible Max Scherzer's been in D.C.

Bench

C Gary Sanchez, New York Yankees

Salvador Perez is the most overrated player in baseball. Even in a season that's on pace to be the best offensive performance of his career, he still makes far too many outs. More importantly, he's a terrible defensive catcher who costs his team gobs of runs every year with his awful pitch-receiving. Thirty-homer power behind the plate is great to have, of course. But Perez still has no business ever winning a Gold Glove, and he is not a worthy All-Star.

Come on down, Gary Sanchez.

1B Logan Morrison, Tampa Bay Rays

1B Justin Smoak, Toronto Blue Jays

1B Yonder Alonso, Oakland A's

Couldn't make any of them starters, but still have to respect all those home runs.

2B Jonathan Schoop, Baltimore Orioles

One of the quietest breakout stories in baseball, partly because the Orioles' pitching is unimaginably awful. Schoop's on pace to top 30 homers, but it's his .350 on-base percentage that's the real breakthrough.

3B Miguel Sano, Minnesota Twins

One day, years from now, we might look back at Sano's clunker sophomore campaign as the one outlier that preceded a run of 10 straight 35-homer seasons. His power is immense, and the strikeouts won't matter much if he keeps hitting bombs and drawing walks whenever he doesn't whiff. Sano's future is unbelievably bright.

SS Andrelton Simmons, Los Angeles Angels

SS Xander Bogaerts, Boston Red Sox

SS Elvis Andrus, Texas Rangers

At a time when everyone and their dog seems to be on track for 30 homers, this is a fine of trio of all-around terrors, with a combined 42 steals and lots of stellar defense to complement impressive hitting profiles. Andrus going from an apparent $120 million bust after three straight terrible offensive seasons in 2013-2015 to a bargain at that price now that he's a five-tool threat is yet another of 2017's undertold great stories.

OF Mookie Betts, Boston Red Sox

OF Lorenzo Cain, Kansas City Royals

OF Steven Souza Jr., Tampa Bay Rays

OF Marwin Gonzalez, Houston Astros  

OF Avisail Garcia, Chicago White Sox

Betts should get the starting nod with Trout injured; he's been unstoppable since starting the season with just two homers in his first 27 games. Cain's not quite at his peak 2015 level, but he's still given the Royals a big lift as they've gone on a huge tear to get back into the playoff race. Souza didn't make the actual All-Star team but he should have, given his terrific .271/.372/.502 line in the backdrop of pitcher-friendly Tropicana Field. Gonzalez is the new Ben Zobrist, a six-position terror with a less impressive glove but also a lot more power. Garcia is the 35th man on this roster, earning the All-Star nod to replace the injured Trout. No shame in that at all: Garcia's having a breakout season, and he now looks look a building block player for a rebuilding team that's trying to find as many of those as they possibly can.

DH Nelson Cruz, Seattle Mariners

One of the steadiest power hitters in the league year after year, Cruz is basically Bizarro Jhonny Peralta. Both players were suspended for PED use in the same Biogenesis sting back in 2013. Peralta's numbers started falling when he returned, and he's now unemployed. Cruz, on the other hand, kept right on mashing. Another reminder that the list of things we don't know runs on forever.

Pitchers

SP Corey Kluber, Cleveland Indians

SP Lance McCullers, Houston Astros

SP Chris Archer, Tampa Bay Rays

SP Jason Vargas, Kansas City Royals

SP Luis Severino, New York Yankees

Vargas is the one who jumps out at you from this group. A soft-tosser with weak strikeout rates, he looked like he might nearing the end of the road when he went under the knife for Tommy John surgery in 2015. Now, at age 34, he's the suddenly strikeout-heavy ace of a resurgent and dangerous Royals team.

Oh and Dallas Keuchel would be on this list too, if he were healthy.

RP Craig Kimbrel, Boston Red Sox

RP Andrew Miller, Cleveland Indians

RP Chris Devenski, Houston Astros

RP Roberto Osuna, Toronto Blue Jays

RP Tommy Kahnle, Chicago White Sox

Devenski is the American League version of Rivero: He doesn't have many saves, so he's not getting enough attention for being absolutely terrifying for hitters to face. Devenski's changeup is a lethal weapon, limiting opponents to a .126 batting average and generating infinite whiffs. His ability to dominate opponents for two, three, or even four innings of relief is yet another reason the Astros could very well make good on the SI Prophecy this year.