They should do the WBC in the middle of July and make the All-Star Break two weeks.
Do something similar to like the NHL 4 Nations. You can base the teams by region e.g. (North America, Latin Caribbean, Asia, Europe, South America etc) or just have the best countries compete (US, Japan, Venezuela, Dominican, Mexico, Taiwan etc.) Would have either 4 or 6 teams max. Two weeks would be enough to create a mini-tournament and players/pitchers are already in mid-season form so you'll get even better baseball than you would in March.
As well, most WBC teams just suck and struggle to put out a full roster. We don't need teams like Italy, UK, Germany, Czech Republic, Australia, etc. competing in the tournament, heck even Canada. Better to go by continents/regions instead or go with the top ranked teams in the World. You'll get better baseball than watching some AAA scrubs pitching for Team Italy or whoever.