I'm a bit confused by the question. On the one hand, it seems like it is targeted at users, since it's about annoying behavior. On the other hand, the options are technical and each of them is great when not leading to the user experience sucking and all of the suck when they lead to the user experience sucking.
My preference then is for software that doesn't suck and the way to get there is by testing implementations rather than picking a strategy based on personal bias. CSS should make for a better user experience, and that means that nobody should be aware of it.
Good luck.