If this is for your personal use, it's not difficult to do in VBA code in the built-in ThisOutlookSession module:
Dim WithEvents colInsp As Outlook.Inspectors
Private Sub Application_Startup()
Set colInsp = Application.Inspectors
End Sub
Private Sub colInsp_NewInspector(ByVal Inspector As Inspector)
Dim objAppt As Outlook.AppointmentItem
If Inspector.CurrentItem.Class = olAppointment Then
Set objAppt = Inspector.CurrentItem
With objAppt
If .Size = 0 Then
.Categories = "My Default Category"
End If
End With
End If
End Sub
The one oddity is that when the appointment opens, you won't see "My Default Category" in the Categories box at lower right, but if you click the Categories box, it definitely will appear there. I don't know of a workaround for that problem, but again if this is for your personal use, you can get used to it.