After having a similar situation 10 years ago, I now collect 50% at time of signed contract, and if cancelled more than 30 days in advance, I refund the amount less the non-refundable portion. If they cancel 30 days or less the non-refundable portion is higher due to a possible loss of the booking date and items already purchased.
The contract also states that full payment is due 2 weeks prior to the event, failure to make the payment on time is a breech of contract and the event will be cancelled. I have given exceptions here, but it does provide the leverage in order to get payments. A certified letter can do wonders if they do not take your calls the days before final payment is due.
For the customer to get the refundable portion, they have come in and sign the cancellation section of the form. This voids the contract with signature, and forces them to come in, in a timely manner, before the non-refundable portion increases.
Humphrey's DownEast Beast W/BBQ Guru