Stay on top of water changes like was said. I do about a 20% every 7-10 days usually. I check my nitrates just before the change and they are usually no more than 20ppm and the water is crystal clear.
Our Oscar is moody too. If you scare him, he'll sit in the corner and just float on his side. He's becoming more use to water changes and maintenance though so he just usually swims around while I'm doing them.
I feed mine floating pellets 1 at a time. If I don't have the time for that, I'll just get him next time. If you'll do this a few times, you'll get an idea of how much he usually eats. I stop feeding him when more is coming out of his gills than he is swallowing. This excess food caused small white worms all over the tank. I cut back on food, and they have disappeared. I also will feed him worms, crickets, and feeder goldfish as a treat. I keep my feeder fish in a separate tank and when I buy them, I look at water conditions. Not failproof, but no issues yet.
Good luck!