In the US, where there is virtually no cycling infrastructure and bikes have to share the road with cars. Cyclists have to use the highways(!!) to get to places, which is utterly ridiculous. The weaving is pretty much necessary for safe travel. Both cyclists and drivers need to get used to doing it safely though.
It's pretty simple: As a cyclist on a general road, make yourself as little nuisance as possible, so hug the right side of the road. If you need to overtake someone, see a pothole or need to take a left turn, look back, and if it's fairly clear, claim your place closer to the middle of the lane. Vacate this place as soon as convenient. As a driver sharing the road with cyclists, if you see a cyclist looking back and edging out into your lane, stop throttling up, assume he has a reason (and has seen you), and hang back until you can safely pass.
Voila, you're welcome.
Also, as for obeying rules: just like pedestrians tend to ignore red lights if the way is clear and traffic is light, because they have great overview and can accelerate quickly, cyclists have similar overview and acceleration capability. Also, like peds, cyclists are unlikely to injure someone if they break the rules, other than themselves. Right-of-way is the only absolute ruleset I can think of that you shouldn't break (except via communication with the other participant, obviously).
Disclaimer: I'm from Holland.