over the years I have had 2 chronic vomiters.
Amanda (RB) I swear to you, was bulimic! She'd eat fast and it would come back up. and then being hungrier she'd eat even faster and throw up even more. The only way I could stop the cycle was to feed her slowly. I'd either put her food on a very large flat tray and spread it around so she would actually have to move to get the next bite. OR I'd feed her one bite at a time and keep the pace slow. Once she was back to keeping it down, I could prevent further episodes by feeding her on a VERY strict schedule. NEVER LATE!!!!!!!!
Today I have Monte. His problem is hairballs, but not the big clumps you find on the rug, but rather the kind that when they accumulate in his tummy they prevent him from being able to eat (and keep down) a full meal. Hairball remedies helped a bit but I actually resorted to shaving him during the heaviest of shedding seasons and it worked wonders. No hair, no hair in tummy, no throwing up. He is in full coat now (short hair) and it seems to be starting again. Back to the old clipper.

So, things to try:
making sure he does not eat fast
hairball treats or medicine or food. (I found that the hairball food might cause diarrhea though because of the laxative effect.
brushing or shaving of the hair
one more possibility is if his teeth hurt he might not chew properly. check his teeth or feed a food with a small kibble.

I hope you can find some help for him because it is frustrating to both you and cat (cats HATE to throw up!)