I agree that it’s not helpful to think in absolute terms in matters of morality. Let me just suggest one possible way to clarify this question (and I think it’s a valid way of looking at the whole meat eating issue, too).
What if, instead of basing the morality of actions on some objective measure, you look at morality subjectively, in terms of the effects your actions have on your personal sense of compassion toward others. If doing a particular thing has the effect of diminishing your sensitivity toward the welfare of others, then that could be considered morally undesirable. If doing something hightens your sensitivity to the welfare of others, then it would have a positive moral value. So in this paradigm, the goal is to become as sensitive to the well-being of the world as possible. Compassionate, in other words. A big heart.
Looking at lab animals or farm animals, one could say that they only exist to fill our research or food needs; we caused them to be born to die for us. That argument has a kind of objective appeal, but does it pass the compassion test? It’s clear that the act of killing or causing to suffer desensitizes us to killing and suffering (there was a policy in the stockyards of not leaving workers too long in the role of slicing animals’ throats).
But equally clearly, there are times when causing suffering and killing serves to abate more suffering and more killing. This doesn’t arise often, but it can. We can’t always make clear assesments of whether the benefits that we’re hoping for will actually materialize out of our actions. But we can look at the effect our actions are having on our own compassion. If we’re acting with a view toward decreasing suffering in the world, then our compassion won’t diminish as a result. A bad sign would be that the killing or causing to suffer becomes progressively easier. There are times when it’s necessary, but it should always be the last resort, and never be easy.