The direct answer is that ultimately, you don't. In an awful lot of cases, it comes down to a question of taste. Three people looking at resized versions of a particular image might (and often will) have three different opinions about which one is best. About the best you can do is pick out which features of an image you consider important, and choose a method based on that.
For example, nearest neighbor does quite a good job of maintaining sharp edges on lines -- much more so than most interpolation methods. At the same time, it can when applied to things that should look "smooth" (e.g., clear blue sky) it can produce artifacts that look rather like edges.
The reverse is also true: interpolation can help smooth gradients, but also tends to "smooth" away what should be sharp edges. If you go too far, fine details can be wiped out completely.
Most of the better methods are adaptive to some degree. Simplifying considerably, they estimate how "sharp" of gradients the original data contains and attempt to maintain roughly the same level of smoothness/sharpness that's present in the original. The adaptation is normally done by scanning the picture in blocks, and applying the adaptation on a block-by-block basis.
For example, if you have a landscape with a clear blue sky and trees with lots of fine detail (branches, leaves, etc.) it'll apply a lot less smoothing to the branches than to the sky.
There are, however, various ways of estimating gradients, none of which is perfect, and various sizes of windows, none of which is ideal for all pictures. That leaves room for a fair amount of difference even between adaptive algorithms.