I won't get into the debate on what to feed your puppy but I can help you with how to get him to eat on a schedule.
Put his food down when you want him to eat and if he doesn't start eating within 15 minutes, pick it up and don't put it back down until it is time to eat again. He might go hungry for a few hours but I bet he will catch on before the end of the first day and will eat when the bowl is put down. You can also associate a command with eating to let him know you want him to eat. As soon as I mention dinner, Ringer runs to the door to the garage and waits for me to get his food. I use dinner for breakfast and dinner.
Put his food down when you want him to eat and if he doesn't start eating within 15 minutes, pick it up and don't put it back down until it is time to eat again. He might go hungry for a few hours but I bet he will catch on before the end of the first day and will eat when the bowl is put down. You can also associate a command with eating to let him know you want him to eat. As soon as I mention dinner, Ringer runs to the door to the garage and waits for me to get his food. I use dinner for breakfast and dinner.