In order to determine competitive balance, I think you have to consider the longevity of bad teams, not the randomness of good teams.
In MLB, the following teams have not even been to the playoffs in a considerable amount of time:
Seattle Mariners- 10 Years
Baltimore Orioles- 14 Years
Toronto Blue Jays- 18 Years
Pittsburgh Pirates- 19 Years
KC Royals- 26 Years
Washington Nationals- 30 Years
Can you imagine being a fan of a team that hasn't even made the playoffs in 30 years? 30 YEARS!!!!! If you are under 30 years old, this franchise has not made the playoffs during your existence!
Only 6 teams have have not made the playoffs in the past 3 years in the nba. Look at the list of 6 mlb teams above and how long they have been out of the playoffs. Of the 6 nba teams, a few would be considered likely or possible playoff teams next year (Brooklyn, Minnesota, Golden State).
Baseball sometimes gets off the hook because rarely do teams repeat as champions, but I think that has more to do with the randomness in outcomes in a 7 game series. Only two teams in MLB currently have won more than 60% of their games (Yanks and Rangers). In the last NBA full season (10-11) 9 teams had a winning percentage over 60%, and 3 were over 70%. Baseball just has more randomness to it than do basketball. That's why they need to play 162 games to really determine which teams are any good. Then when teams play a best of 7, it's almost a crap-shoot determining who will win.