MLB is just a totally different model from the NFL and the NBA. The goal of the NFL is to get every fan to watch every TV slot. The goal of the NBA is to get fans to watch their teams on local TV and to also tune into 3-4 national games each week.
Neither of those really work for the MLB. For one, there are 2430 regular season games (as compared to 256 NFL games) so nobody is watching every MLB broadcast. There's really no such as an big MLB game prior to September. MLB also doesn't have stars in the same sense than the NBA does that get people to tune in to those national broadcasts. Mike Trout may be as good at baseball as Lebron is at basketball but if I watch a random Cavs game, I'm going to see Lebron touch the ball 80-100 times. If I watch a random Angels game, I'm going to see Mike Trout take 4-5 at bats and make a couple of plays in the field.
The MLB model is not to develop a national fanbase but to develop 30 fanbases that watch their team's 162 games and anything else is a bonus.