My cat used to puke occasionally but I can't remember the last time he did. I found bushing him several times a day to get the lose hair off him and feeding him a high quality food on a regular schedule was the key.
I feed him wet food 2x a day, (morning & evening) and keep a bowl of dry down to let him munch through out the day. I think the most important thing is once you find a food they like and tolerate don't change it, don't change the brand, don't change the flavor. As far as my cat knows there is only salmon & rice flavor in dry and ocean white fish with salmon in wet. As a side benefit he isn't finicky about eating.
Also cats can have food allergies. It took a while to figure out that my cat is allergic to wheat. Once I cut out all wheat from his diet it not only did his vomiting stop but also his over health seems to be much better. Unfortunately for him most cat food and cat treats contains wheat. I found Purina Pro-Plan Selects is what he tolerates the best and doesn't contain wheat. (regular pro-plan does contain wheat)