Okay, pretty much my sole participation to this discussion is here (first a side note- that florges who attacks Goomy isn't evil- it is protecting its sick child).
The moral questions pretty much boil down to whether you consider pokemon to be the equivalents of animals in our world. If you do, then making them fight is cruel, and eating justifiable (except if you're a vegetarian).
However, pokemon are often shown to be more than animals. They are magical creatures, who rely on partnership with a human to reach their full potential. The clearest evidence of this is friendship evolution. These pokemon require the connection with a trainer through battle in order to reach their most powerful stage, showing that they are more than slaves, they are partners (unless if you want to make the point that they are slaves who develop Stockholm syndrome- but I feel like that's a bit of a stretch).
Pokemon battles aren't like cock fights, as (excluding origins and a few anime battles), the pokemon don't get injured. They'll need help at the pokemon center, but they aren't really damaged. Both pokemon in a battle are participating in it to grow. If a pokemon feels like it has outgrown a trainer, they will disobey (for trade evolutions in particular), showing that they aren't unwilling slaves as they still have free will.
This is why eating pokemon is more questionable, as they are meant to be a partner in a codependent relationship, so when the human eats the pokemon it is throwing that relationship out of balance.
IV breeding is pretty hard to justify either way.