If I would have known about his knees, I would have offered him a five year deal, with minutes/games played triggering player options in the fourth and fifth year. I would also have purchased a massive ($100MM+) insurance policy in his name as part of the contract in case he couldn't play anymore, that would allow him to retire and have the same lifestyle as if he had played 15 years. Furthermore, I would have let him know there would always be a place for him as a Blazer, on the bench, in the front office, what have you.
It's a tough balance, because the guy is the face of the franchise and you want to compensate him for that role as well as for his play. You want him to be happy and secure, but you also want to protect the team. All that being said, I don't think things are as bad as advertised. Brandon will figure out a way to change his game or get comfortable with the pain.