There should not be only 1 solution. The best approach is to implement most of the solutions. Make it a multi-modal solution!
A) Start with the easiest and cheapest one like the simple app showing how many stalls are occupied and for how long. Notify users when they are almost finish and finished charging. Also let them know how many stalls are occupied so if they see some occupied, they would be more inclined to move their car. This is only software and no need to change any hardware.
B) Using data analysis and such, plan the SC expansion properly to account for peak demand and alternatives. For instance San Juan Capistrano is always in high demand. But why? is it from local users or long distance traveler like at Tejon pass? Priority should be made to expand Tejon pass instead of San Juan because people at San Juan have plenty of alternatives, ChadeMo, L2, HPWC, etc, while Tejon have no alternatives. So do strategic expansion and take into account ALL variables, not just which ones are congested the most.
C) consider portable SC units. Tesla has them and "run" them when needed to help alleviate the problem.
D) Research faster charging or at least faster sustained charging to get people out faster.
E) Incentives users to travel outside the peak demand period whatever that maybe. Or the opposite, penalize users. I think the time penalty/incentive is enough, but maybe let people know of potential peak demand (predictive so they can choose to drive slower or faster or take alternatives)
And there might be more that others can recommend. But my point is Tesla should do them all. Some of them are already happening, but I am not sure if they are prioritizing them correctly.