While Automator and AppleScript fail to reliably batch delete thousands of calendar events in recent macOS versions (see Archiving Calendar.app events as plain text), Shortcuts.app is surprisingly successful:
Backup all calendars
File → New Shortcut
Action Library → Apps → Calendar
Drag "Find Calendar Events" into the shortcut editor (aka "main window")
Change Start Date as desired then click the plus symbol to the right and add additional criteria (e.g., "Calendar is Travel", "Calendar is not US Holidays", "End Date is Before 1/1/2023, 00:00", etc.)
Drag the "Remove Events" action underneath → click "Show More" → leave "Include Future Events:" unchecked to preserve repeating events linked to ones that will be deleted
Before running the shortcut, open Shortcuts Preferences... → Advanced and enable "Allow Deleting Large Amounts of Data"
Delete all events in the Travel calendar within the last 8 years that took place before 1/1/23 while preserving any repeating events after that date:
Delete events in all calendars other than Birthdays and US Holidays within the last 13 years that took place before 1/1/23 while preserving any repeating events after that date:
Start Date is the only required filter parameter in the "Find Calendar Events" action. Setting an overly-long value for "is in the last x years" resulted in the shortcut not returning any results.
While setting the Start Date to "is in the last 10 years" should include all earlier years (9, 8, etc.), Shortcuts does not always find them; be sure to check and rerun with a lower value if necessary.
Setting Start Date to "is between" did not work on large numbers of events.
Shortcuts.app does not require explicit authorization in System Preferences → Security & Privacy → Privacy for accessing data in Calendar.app. However, it is important to ensure that "Ask to Delete" is selected instead of "Never Delete" within the shortcut's Privacy settings (View → Show Shortcut Details → Privacy → "Allow this shortcut to delete data?"; the option becomes visible only after having clicked "Delete" or "Don't Delete" in the Privacy popup dialog on the first successful run).
Tested in macOS 12.6.1 Monterey with Shortcuts 5 and Calendar 11.
/mac | Dec 11, 2023