If the attacker has less than 51% of network speed, then even though he could be lucky and mine two (or even three) blocks in a row very fast and thus become the longest block chain, eventually (in half an hour or so) the network will take over the attacker's chain because it's just faster of the two.
Mind you that mining three blocks in a row is very improbable.
The attacker has spent enormous resources in order to give the network a hick-up.
Yes, an attacker briefly achieving the majority of the total hashing power could be thwarted that very same way if the legitimate network generated a few quick blocks in a row.
Yes, and it's bloody damned simple: don't mine for the big pools. I'd say don't mine for ANY pool but suggesting that to a person with 2 or 3 GPUs would be going straight into the realm of absurdity and paranoia. If one is actually worried about a cabal of pool operators colluding to gain the majority of the hash power, they can always mine for p2pool (requires that every miner run their own instance of bitcoind).