New Scientist linked up this article which describes a novel method of pulling Earth-collision asteroids off course. If we can detect them early enough, parking a comparatively heavy sattelite next to it will do the trick:
For a 200-metre-wide asteroid, the spacecraft would need to weigh about 20 tonnes and lurk 50 metres from its target for about a year to change its velocity enough to knock it off course.
Of course, 20 tons of spacecraft is a pretty heavy load to loft that far, but given enough time and motivation it's really just a matter of money and engineering.