I don't have much to add besides agreeing that getting him on a balanced diet is going to be the first step towards fixing anything else. Try and find a natural pet food store in your area. There are a number of limited ingredient diets (LID's) on the market now: California Natural (not grain-free), Nature's Variety (I think they have both the grain-free and regular version in a LID) and also Canidae has a new LID line. Also agree with Kat about SLOWLY SLOWLY SLOWLY introducing the new food into his diet. And find a new vet. The fact that he hasn't mentioned anything about how unbalanced his diet is just screams "red flag".