Let 1 company build a physical fiber network, and all they do is maintain the infrastructure. Then, they can lease out space on that fiber network for anyone that wants to be a provider, and with fiber infrastructure this could be hundreds of them in theory. In reality it will probably only 5 or 6, but that is enough for the people to have choices.
These service providers can provide internet, television (in a wide variety of package possibilities), home phone, business phone (like 30 lines or something), security systems, and special needs services such as church service for the elderly that can't go to church anymore but still want to be part of the service. You name it. If it can transfer over a fiber cable, it can happen.
The only downfall with this approach is that if there is a BIG fiber breach somewhere, all service providers could be down. But if you build up your back-end infrastructure in rings, a fiber cable going in two directions, forming a ring in a city, it doesn't matter if someone digs up your fiber, as traffic will just go the other way, as two points on the ring can be reached in either direction on the ring.
Of course there is ONE problem with this approach: The existing cable and telco companies will fight till they are cold and dead to prevent this from happening, so the only way it will happen is if the government makes a law that will allow this. In a great many European countries they have implemented a law that if a provider is building a new network, they have to allow access to other providers at reasonable cost, as they don't want 20 providers running 20 different cable networks, when with fiber optic cabling really only 1 network will do as the capacity is in theory unlimited.
The same fiber strand that brings you 1 Gbps now is good enough to actually bring you 40 Gbit/s or even 100 Gbit/s with only changing the equipment at your home and on the poles..... the cable itself, once its there, only has to be replaced if it breaks.
I understand cities don't want a 4th, 5th network, digging up streets and getting into people's back yards every time a provider wants to run their cables.... that's why infrastructure should be separated from service. The infrastructure provider doesn't provide service to the people, they only build, maintain the network. A infrastructure guy will hook up the cable to your house, and your service provider guy will bring THEIR modem or gateway to connect to THEIR network. Voila, service. And if you aren't happy, you just call another service provider to come bring their modem for their network.
Competition is good.
Internet freedom is good.
If only the United States would be willing to actually implement net neutrality everywhere.... (like most western countries), and implement laws that make this kind of competition possible. But noooo, the power of lobbyism is greater than the power of the common good.