While competition is generally a Good Thing, there are times when it doesn't make sense to waste a lot of effort through duplication.
How does anyone benefit by having two or three equally-slow internet connections into their house (say over copper phone wires, coax, and BPL), rather than having one much faster connection (fiber)? All the money spent duplicating parallel infrastructure could potentially be spent making a single more robust network, one that gets upgraded more frequently.
It doesn't make much sense to force each would-be ISP to drag lines out to their potential customers' houses; once customers have a connection, a second one is just waste (unless there's some way to use both at once, but there generally isn't and most people couldn't afford to anyway due to the way they'd be priced -- each ISP has to recoup the cost of its own infrastructure).
The better way, and the way that actually fosters more competition where it counts, is to have a good, shared, high-speed infrastructure that all providers can operate on and which is made available to all on non-exclusive and non-discriminatory terms.
I think the proper vehicle for these sorts of things are public-private partnerships, similar to the way that transportation projects have been handled for years. (Ex. both the Erie Canal and the NY State Thruway were done by public/private partnerships, called "Authorities" in NY state parlance.) This provides a degree of isolation between the day-to-day management of the infrastructure and the machinations of the political process, and also discourages wasting of taxpayer funds, or raiding of infrastructure funds for other projects. The state might support a project via bond guarantees, but could reasonably expect it to stand on its own (and operate as a non-profit) from then on.
That strikes me as a compromise solution which is likely to produce the most competition where it actually benefits users.