The real problem with a mass rushing toward Earth is that it is unguided. We do not need to deflect or stop such a body; we only need to alter its course to a slight degree.
Like cancer, early detection for this problem is needed. Once an oncoming body is detected and its course calculated, it should be relatively simple to also calculate the optimum course correction which would lead it to a better location.
One might even hope it could be used to further other goals of future space activity.
Anyway, as to moving it, even the slight amount necessary, there is a procedure which can be guaranteed to work, if given sufficient resources and time in which to act.
That is the landing on the oncoming body of a mass-driver. Whether using solar power or nuclear power, the driver would steadily dismantle the object, flinging the small portions away in a direction calculated to achieve the course correction desired.
If need be, swarms of such devices could be employed.
Since we would be using the asteroid's own mass as a reaction fuel, it would be impossible to run out. The only thing we could run out of is time.
It is for this reason that many who are concerned would like to see additional resources made available to search the skies, and to prepare the simple machines that could prevent our sharing the dinosaurs' fate.
The neat thing is that the farther out you start the diversion the less power is required to divert the object sufficiently.
You're correct in many ways. However...
1. Detection network will be VERY expensive to achieve and maintain for (say) a thousand years. How do we do it? Who pays?
2. Prediction of the course of bodies detected far enough off is almost certainly going to be subject to "chaotic" motion problems. Determination of mass/velocity/position as well as mass/velocity/position of all significant gravitational influences with precision sufficient is going to be very expensive (both time and money), and by necessity in most cases, the modelling of the path is going to result in a range of probability of striking Earth.
3. Who decides (for the next thousand years) what constitutes a threat we will respond to and which do they determine to ignore? What is the benefit or cost of correct calls?
4. Who designs and pays for the "mass drivers" or whatever other technology is used. Who decides how many of these devices to send up in the "swarm"? Surely, it will be to reduce the probability to some amount. Who determines that probability?
Got the idea? Though it may be a wonderful thought experiment, designing a way to deal with these events seems well beyond our ability right now... Of course, if you were dictator, and had a well defined and certain line of succession for the next millenium, you might be able to pull it off!