And practically every NBA city not named LA, NY, Chicago, Miami, Boston and Dallas is in the same boat. You're mistakenly making it sound like it's a Sacramento problem, when it's not. Over the past 30 years, how many top tier free agents have you seen go to SF, Seattle, Portland, Denver, Detroit, DC, Milwaukee, Charlotte, New Orleans, Memphis, Cleveland, etc? Not all tha many.
The NFL doesn't seem to have the same problem as the NBA with top tier free agents going to smaller markets. Peyton Manning chose Denver, whereas a player of his caliber in the NBA wouldn't do so. The biggest reason is that the NFL does a much better job of marketing ALL of their franchises than does the NBA. Also, the use off a 'hard' salary cap creates more parity and doesn't allow big market teams to hoard players because can they can afford larger payrolls and luxury tax thresholds.
In the end, the players go,where the money is. If the NBA employed a hard cap like the NFL does, Sacramento would attract a lot more worthwhile free agents. If the NBA had no salary cap like MLB does, all the good players would be playing in 6 or 7 cities.
The point is, it's not so much about the city as it is the money and the system the league has in place.