A social courtesy proposal:
Have you ever been the person whose phone rang in a theater? I have a solution. Build a small device that transmits a low-power signal indicating a quiet zone. I know I'm not the first to propose this, but past proposals have tried to enforce this on the unwilling public. In my scenario, when your phone detects that you are in a quiet zone, it doesn't have to go silent. Instead, you can choose the behavior. The default should be vibrate (quiet, but you still get notified). Preference choices would include silent, vibrate and "no change".
Selecting "no change" is the rude option where you're saying "l want my phone to ring audibly even in quiet zones". While I don't particularly like that, it should be each person's choice (but not the default!).
There are a few technical details to work out. To avoid requiring phones to have extra hardware, it would need to use some existing wireless technology like Wi-Fi or Bluetooth. A simple setup would be a church. Put a single transmitter in the middle and adjust its power for optimal coverage (which may miss the remote corners of the building, but that's ok, it doesn't have to be perfect to be useful). They could put their transmitter on a timer and only send out the quiet zone signal during services.
But how does the library keep their quiet zone from spilling over into the sports bar next door? They would need smart transmitters that are configured to define an enclosed area. Much the same way that phones use Wi-Fi triangulation to determine location. This type of setup would probably require professional installation at first (although I do have an idea of how it could be made simple for anyone to setup).
These transmitters would be low cost (cheaper than home Wi-Fi routers) and be pretty small. They could come in a variety of form factors, colors and mounting styles... perhaps even battery-powered Velcro stick-ons.