You don't get to make this choice: "but I don't want to pay the taxes for full amount"
Because you follow the accounting requirements for this entity. If this is a cash basis entity, you just got Income. You handle that as a prepayment item on a sales receipt, and this Product/Service item is linked to an Income account. If you are an accrual basis entity and if you are allowed to carry this as Liability, you link it to Liability.
"when (and it has happened more times than I can count) the event gets cancelled"
Later, you would invoice for the actual sale. Then, you use that same prepayment item on a customer credit memo for the date of the invoice, and apply it. That means, if you were able to hold it as Liability, you just cleared the liability. For a Cash Basis entity, you basically discounted it 100% in consideration for the fact that you got paid previously and already had to declare it as income at the time you got paid, originally.
"and all we get to keep is the deposit."
Exactly; for a Cash Basis entity, there would be nothing to do in the condition of Cancel. You already got it, reported it as income, and you are done. For an Accrual Basis entity, you need to make an invoice for the amount prepaid using a Forfeit item, that is linked to Income. Make the Credit Memo with the prepayment item and apply them, to show what was on hand as Liability (not yours, yet) now is Yours, as income to keep.
It's best to meet with your own CPA to review appropriate accounting for Prepayment activities. Also, if that is subject to sales taxes or not. It would be taxable on the sales receipt and taxable credit memo (to reverse it). Or, Nontaxable on the sales receipt and Nontaxable on the credit memo (to reverse it).