Perhaps the obvious solution is to allow cities to put in their own ISP structure, but then that's government using it's advantage of force to compete unfairly with private business, which is the reasonable argument for some states to prevent such competition.
Not necessarily. A local municipality could build out a fiber network, maintain just the last mile connections and the layer 2 switching infrastructure, and lease that infrastructure to one or more ISPs who would link to the Internet and provide TV and phone service. US cable and phone providers don't rent out their infrastructure to other ISPs like this, at least not for general consumers, so there is no private business for the local municipality to to compete with.
Another option is to break up the local cable and telco monopolies. Separate the local loop from the Internet, TV, and phone service providers and put everyone on an equal footing.
A third option is for the local governments to seize the cable plant and infrastructure under public domain laws and give the cable operators and telcos a big middle finger. Considering how bad the cable, phone, and Internet service is in my region, I can't see how it would get any worse under government control.