it looks ok on a hockey jersey because they have logos and the letter stands out and draws attention. On a baseball jersey the C used by Boston and Kansas City matches the font that spells the teams name and city name on the front of the jersey. It ends up giving you that look like someone spilled their alphabet soup on their shirt.
Also, MLB team captains have no league recognized responsibilities that require a letter on the jersey. It's mostly a clubhouse designation and throughout the history of baseball has not been recognized until recently. In hockey the Captain and Alternates do have league recognized responsibilities hence the letter.
Simply put....it looks ****ing stupid on a baseball jersey.