You are absolutely right! Two-and-a-half-year-olds really want to have control over something and what they eat is the number one control issue. Assuming that your child is healthy, and has been growing well up to this point, you have to learn to trust that his body will tell him when he needs to eat, and that he will not starve. You should offer nutritious meals and snacks (generally three meals and two snacks per day are standard at this age), but do not feel that you have to make up for the skipped meal with extra food later. If the child is not interested in what is being offered, don't get into an argument, don't try and cajole him or force him to eat. Just end the meal at the appropriate point and take the food away. You should not offer him something else an hour later or give him an extra bedtime snack just because he missed the previous meal. If you do, that just tells him that he can continue to refuse to eat and eat whenever he wants.
That said, you do want to give him some control in this whole situation (Can you imagine how unhappy you would be if someone else cooked all of your meals but you never had any say in what was being prepared!). You can give him a choice. For instance, ask him, "Do you want peanut butter and jelly or bologna for lunch?" If you make bologna and then he says he does not want to eat it, he'll just have to wait until the next meal to eat something.
Also, don't only make foods that you know he hates. If two of the components of the meal that you are making are things you know he doesn't like, try and make the third thing (one of the side dishes) something you know that he will eat and like. You can thus give him a larger portion of that side dish and smaller portions of the things he doesn't like and encourage him to eat in that way. At this age it is important to offer a variety of foods and to try new foods periodically. Kids are very picky at this age and often will have spurts of interest in one particular food for a period of time and then subsequently not have an interest in that food anymore and then develop a new "favorite food". As children get older (meaning in the five and above range) you can come to some reasonable agreement about meals and food choices. My own personal rule is that the children have to at least try the food that is on their plates. However, if they don't like it, they always have the option of eating yogurt or a bagel instead (basically things that don't require preparation and are healthful).