Go with your client's "guesstimated" amount of people,but prep at least 10% over what the expected head count is.Running out of food looks incredibly unprofessional.And bring the food out in phases;don't put all of your product out at one time.Events have the big "rush" period and then a "grazing" period.It will also insure that you are rotating fresh,attractive food and you can control the flow.
I work for one of the largest catering companies in the southeast and we do some really large numbers,like plate-ups/buffets for 2000 or more.We get the "gauranteed" head-count and charge per person,100% pre-payment,but we do the extra food in case extra people show up or maybe some server will drop a plate or whatnot.We're big fans of a "Comfort Zone"! Extra food is employee meal...and it's paid for.
Even when I was with a smaller catering company,we did 10% over with no problems.What it cost us to make versus what we would charge would cover the extra food,no problem.And if we got a deal from a vendor,we were not about to tell the client "Hey,I got this for less than we normally do!";we'd charge according to what we'd normally pay.
Our food costs right now are running at 14%,so we can easily absorb the minimal extra cost,because the client is also paying for the venue [my location is on-site at a convention center;we don't do off-site.Another location does off-site],the serving staff,tables,chairs,etc.....,so the food cost is only part of what the client is paying for.
We don't charge any extra unless a ridiculous amount of people shows up above the gauranteed head-count [a very rare situation],but clients also have budgets and trust me,THEY don't want to have to pay any extra than what they planned on.
Honestly,in the time I have been doing catering/banquets,I have never run out of food.Sure,maybe one item,but there was plenty of back-up to cover it.
Sad thing is,if food does run out,the guests aren't going "Oh,so-and-so who set this whole thing up didn't pay for enough food"..they look at the caterer and go "Those caterers didn't make enough food" and they remember your name!
"Sometimes people can be oh so dense"