For Psychic, Gardevoir is good (assuming you're playing RSE, if not then Alakazam is the best you can get, have to trade though)
Ghost... To be honest, I don't use ghost types often, Probably Dusclops or Gengar would be your best bet.
As for flying, really most flying types are okay, just stay away from Farfetch'd. It sucks.
Most water types are at least decent, it depends on what you're looking for. If you want an attacker, go for Swampert or Starmie. Otherwise, Pokemon like Whiscash tend more toward the defensive side. If you don't mind the hassle it takes to get a Milotic, then by all means, do.
Again with fighting, it's pretty hard to go wrong. Most any fighting type will do just fine, Blaziken is probably best in Gen 3 alongside Breloom, Machamp if you want a slightly more Bulky Fighter. Poliwrath and Hariyama are also both really good with Bulk.