Voting for the 2016 Major League Baseball All-Star Game has closed, so all that remains is to find out which players will represent the American League and National League in the Midsummer Classic on July 12. 

MLB will announce the rosters Tuesday at 7 p.m. ET, but we can surmise from the most recent voting update from MLB Communications how things will shake out. 

Here are my predictions for who will represent both leagues with two days to go before the final rosters are revealed. 

*Indicates predicted vote leader

 

Predicted Top Vote-Getter: Salvador Perez, Kansas City Royals

The big story in this year’s All-Star voting is the lack of drama at nearly every position. The closest race in either league is between Yadier Molina and Buster Posey for starting catcher in the NL, as just over 5,000 votes separated them in the last update.  

But even Molina vs. Posey loses some of the drama because both players will be in San Diego next week, barring injury to either of them. 

That lack of drama carries over to predicting the top vote-getter in both leagues. Kansas City Royals catcher Salvador Perez had 3,754,594 votes in the latest update—more than three times that of the No. 2 AL catcher and more than 354,000 votes ahead of Boston Red Sox designated hitter David Ortiz for the top overall vote-getter. 

Last year, the Royals’ dominance in All-Star voting was a joke. It hasn’t been as pronounced this season, but there’s no argument against Perez this year. He’s been brilliant with the bat and glove, and the lack of options at the position is staggering. 

Per FanGraphs, only three AL catchers have enough at-bats to qualify for the batting title. Here’s how their numbers compare to one another:

Perez’s 2.2 wins above replacement is greater than the combined total of Stephen Vogt and Brian McCann. There is no other legitimate choice for fans to get behind even if they wanted to prevent the Royals from sending a player to the All-Star Game. 

Ortiz is the only player who could challenge Perez for the top spot, and it’s a surprise that Red Sox fans haven’t mobilized around him since this is his final season. However, Kansas City has proved the power of its fanbase over the last two years. 

Even a late surge for Ortiz won’t be enough for him to overtake Perez when the final voting totals are in. 

 

Most Egregious Omission: Francisco Lindor, Cleveland Indians

It’s taken Cleveland a long time to have a reason to care about its baseball team, but the arrival of Francisco Lindor last June signaled a shift in the franchise’s fortunes. 

The 22-year-old shortstop finished second in AL Rookie of the Year voting last year behind the Houston Astros’ Carlos Correa, despite having a higher batting average, on-base percentage, defensive value and wins above replacement, per FanGraphs

The only difference between Lindor and Correa last season was that Houston made the playoffs; the Indians’ strong second half wasn’t enough to overcome a dreadful start. 

Lindor has picked up right where he left off in 2015, yet when you look at the American League voting for shortstops, he doesn’t even register in the top five. Troy Tulowitzki, who missed three weeks in May and June, is ahead of him for no reason other than Toronto is a bigger market. 

This isn’t to say that Lindor should start for the American League in the All-Star Game; Boston’s Xander Bogaerts has been incredible, but Cleveland’s young superstar deserves much better than he’s gotten in this process.

Lindor is going to make the All-Star team as a reserve, but based on the voting, one might assume that Cleveland didn’t even have a shortstop worthy of starting the game. 

That is a staggering oversight for one of the game’s best young players. 

 

Surprise Starter: Ryan Braun, Milwaukee Brewers

The National League outfield voting is tight among the top three players—Dexter Fowler, Bryce Harper and Yoenis Cespedes—but that doesn’t provide much drama because there are three starting outfield spots. 

Things do get interesting when considering Fowler’s health. The Chicago Cubs outfielder has been on the disabled list since June 20 with a strained hamstring. He is eligible to come back this week, though Cubs manager Joe Maddon has not provided a timetable for his star’s return, per Mark Grote of WCSR:

Hamstring injuries can be tricky to deal with, so the Cubs may not want Fowler to risk aggravating things in the All-Star Game even if he returns at some point this week. 

That opens the door for a new outfielder to take Fowler’s starting spot. If the NL just goes by the voting, Fowler’s teammate Jason Heyward would get the nod, though his performance on the field hasn’t warranted being an All-Star. 

If the NL goes by the voting and player performance, Milwaukee Brewers outfielder Ryan Braun would slide into a starting spot. 

Braun has been one of the few bright spots to watch on a rebuilding team in 2016. The 2011 NL MVP is having his best season since 2012, leading the Brewers in average, slugging percentage and OPS+, per Baseball-Reference.com.

Last year, Braun was an All-Star almost by default because every team has to send a representative. This year he has earned his spot, with the possibility he could start if Fowler sits out to recover for the second half. 

Read more MLB news on BleacherReport.com