Or an anti-matter beam!
My favorite plan for asteroids is to fire anti-matter at them.
Like anti-protons for example. Expensive to generate, and you'd have to do it on the moon, but easy to shoot and 100% of the incoming energy would be absorbed by the asteroid. If it was taken over by a mad scientist they could only attack earth's satellites, an anti-matter beam wouldn't make much of an impact on the atmosphere and would only create some gamma radiation. Same thing if the beam missed the asteroid or was dispersed.
The effect of the beam on the asteroid would be to generate thrust, and should work even if its spinning. So it should be able to deflect the asteroid minutely. You'd have to start early, its not a quick process...