Use double pricing and state in your Rental Agreement the price for excess guests.
Price 1 if the guests are included in the rental agreement (Proper Disclosure)
Price 2 if they bring guests unannounced (Sneaky)
I have the right to evict if the number of guests are exceeded.
How to find out the number of people? You would need a witness, your housekeeper, your neighbor, a friend. The other thing you might consider is to limit the energy usage to X kWH per day, if they exceeded that they pay X/kWH extra. I do this in a property overseas where electricity is $0.65/kWH vs. $0.10 in the USA. All tenants become environmentalists after this!
suzy, you seem to have a way to know how many guests are staying in your home as you have expressed the number of extra adults but then you say "how could you ever prove it". If you know (have seen them or accidently been told) that there are un-paid guests staying in your home, then charge for them. It clearly states in our rental contract that we will charge for any guests that are staying at our home that are not included in the total number on the signed contract. We then take the amount from the secuity deposit.
We also do this if guests do not check out on time. It states in our contract that if guests do not check out on time they will be charged for an extra day. We do not do this if they are just a few minutes past check-out but this is in our contract to discourage renters from thinking that they can hang around for a couple of hours past check-ut.