I don't know that I buy that San Jose has always been an undesirable location. Does it have the appeals that cities like New York, Chicago, L.A., or Miami have? No. Does it have the low taxes of a Texas or a Florida? No. But it also doesn't have the weather of Winnipeg or Edmonton. I mean, aside from the tradition of being an original 6 team, do professional players really want to live near Detroit or Montreal? Real estate prices are a barrier for a lot of people that might otherwise live near San Jose, but not for professional athletes.
It all comes down to winning. If you have a winning club, you will be popular with free agents. If you're losing, you'll have an easier time in free agency in New York or Vegas than you will in San Jose (although why anyone would want to live in Vegas is beyond my comprehension - it's a classic case of a place you don't want to spend more than 3-4 days at IMO). But a winning team will always be able to attract players. If the money and the opportunity to win is even, will the Sharks lose on on free agent battles? Sometimes. But not all the time.
Right now, we're hockey hell so we're gonna be picking through the leftovers.