My high school (in Cupertino, CA -- 45 miles south of SF) did require an economics course and the one I took (AP Micro Econ for part of the course, regular macro econ for remainder) used rent control as an example of policies with unintended consequences. I don't think ignorance is the problem here, this is textbook stuff.

I think the real issues are these:

1) Economics is a science, it helps you build a mathematical model of ``what happens if''. It doesn't immediately follow that even if rent control has drawbacks (lowered mobility, gradual conversion of units from apartments to TiCs or condos, higher rent and lower ability for those who move into the city) that they aren't socially acceptable due to perceived benefits. I am not making this argument myself here, by the way (I don't think social benefits of rent control justify the costs); I am merely stating that it isn't as straightforward (going from "rent control has unintended consequences" to "rent control is a wrong policy" is an example of Hume's is-ought fallacy).

2) There are other legal/economics issues besides rent control. There are certain tenant right laws that currently making it very difficult for one-property landlords to rent their property out. In other words if you're moving to South Bay/Fremont or Pleasanton for the next 12 years to better schools (more on this later...) or to New York/London for 5 years to work in finance sector it may be more monetarily advantageous to you to sell or AirBnB the place. If you're an individual with a single investment property it makes all the sense to sell now (or again, to AirBnB) as opposed to continue renting out.

Tenant’s rights is a great concept and undoubtedly tenants should be protected from unsafe conditions, predatory practices, eviction without any notice, harassment, etc... However, some of the laws (e.g., difficulty of eviction for legitimate reasons, bizzare laws that can require a property to wait for 10 years before being rented or sold again after an eviction in some cases, etc...) clearly make things easier for slumlords (individuals/families with more than a single property), large property management companies, and apartment complexes.

3) Non-rent related political/economic issues: namely schools, transportation, and safety. First, there is whole Western half of SF (Sunset, Richmond) that's simply an amazing town: walkable mixed-use neighbourhoods, slightly larger homes, lower rent, less crime. "Small" problem: it takes as long to get to SOMA or FiDi from Inner Richmond as it does from Mountain View or Palo Alto. Sunset is slightly better when muni is on-time (that's like saying "JVM is fast when you're not having a full GC" -- at-grade transportation will enviable suffer delays), but it's still a longer (and more exhausting) commute than driving from, e.g., Daly City.

Second, schools are (literally) a lottery ticket. The known-good public schools (e.g., Lowell) are magnets that are extremely competitive admissions wise. Private schools would be fine, but become unaffordable when there's also rent/mortgage to pay in SF. Child friendly neighbourhoods (likes one I describe above) are generally removed from work areas.

Essentially this leaves only one option: if you're a family, due to safety/space reasons you'll probably have to commute[1] anyway to get to work; since you can commute from somewhere with either cheaper housing (East Bay) or great public schools (South Bay, Fremont area, Pleasanton, etc...), or take a job in one of these areas and have a shorter commuter, the costs of living in SF proper outweigh the benefits...

4) Non-political factors: SF is at the end of Peninsula, with mountains in the middle, and on its south side. It's also highly in demand. You can build up as in Manhattan (and SF should) but even though SF is now cheaper than Manhattan, Manhattan real estate is still unaffordable for most Americans.

In other words, imagine you've an NP-complete algorithm. You can apply every optimization possible, but in the end you either have to throw a core with more transistors at it (where you're limited by physics), throw more parallel cores/distributed CPUs at it (_if_ it happens to be easily parallelizable), or find a heuristic that doesn't give you a complete answer but is good enough (like Miller-Rabin primarily test).

Ultimately I think (but may as well be proven wrong) that a combination of these is what will happen here: reform of housing laws ("optimization") and smaller housing in SF proper ("more transistors on a core"), more SF-like dense urban cores in Bay Area, e.g., more jobs in Oakland/Berkeley, revival of Downtown SJ ("more cores"), and "densification" with a move towards mixed use residential/light commercial in suburbs/exurbs coupled with better public and private transportation options ("heuristical solutions").

[1] To out of towners, here are some numbers from personal experience/experience of friends:

Mid-Richmond to SOMA by bus -- 40 minutes
Inner Sunset to SOMA by Muni without delays ~20 minutes

Menlo Park to SOMA -- 35 minutes
Daly City to SOMA -- 20 minutes at most
Saratoga to FiDi - 1 hour 5 minutes
Saratoga to Palo Alto California ave area -- 20 minutes
Saratoga to Menlo Park - 30 minutes
Mountain View to Menlo Park -- 15 minutes
Mountain View to Sunnyvale/Santa Clara - 5-15 minutes

Driving commute in SF proper is not a good option. First, you lose out majorly on the savings of living in the city by having a car (the car itself, insurance, gas, parking, maintenance. Second, there's very little freeway in SF proper, but major job centers (SOMA, downtown) happen to be near freeway exits -- driving on SF surface streets is simply not worth it in terms of gas costs from idling/stop-and-go traffic, damage that happens to your car (with a manual car it means having to replace a clutch more often; with an automatic I can't imagine the stress put on the torque converter), and most importantly the stress/discomfort.