My take on why we've been so bad for so long has to do with our DBs not recognizing the plays in front of them and who is supposed to watch who.
I'm going out on the limb here and say that the reason for our DBs being so bad is not because of athletic ability or skill - its because they don't know how to recognize certain formations and don't know who's responsibility is who's. This is because we have been practicing an over-simplified and predictable offense that when it comes to game time, our DBs face formations we never seen before, thus causing confusing. Don't believe me? Take a look at why Vernon Davis was so wide open.
Garrett not only affected this team negatively with his bad play-calling. But he also affected our defense because Garrett just doesn't know how to call a pro-style offense. Thus our DBs are always confused.
This is why Sean Lee excells. He recognized formations better than anyone on our team. When he went down we seem to run around like chickens without heads.
To fix this is to have an offensive playcaller run a pro-style offense which I think Linehan is on the right path. Or have everyone on defense watch more film.