That's the only way you can level up your fighters. Batman isn't going to get any better at fighting crime if he isn't out there fighting it. Put the hero you want to level up in your active roster and then get them in the fight. Use them to knock out a character and then switch to the other characters in your roster to level them up too.
Injustice: Gods Among Us us a little grindy, but as you level up those characters and feel the power that comes from battling with your favorites from the DC Universe, it'll be worth it. Try to find any little moment to fight with your characters as you go about your day. Frequent use of the game will reap the biggest rewards.
I also wouldn't recommend sitting at the game for hours and hours, grinding away. That'll make the game really boring and in turn, you won't bother to play anymore Injustice, which is a shame.