With regard to #2 (how to delete without sending a notification to the sender) -- I don't have an answer yet, but I can confirm that the up-voted answer from Jackal above ("move spam event into temporary calendar, then delete temporary calendar") still sends a DECLINE to the sender.
Understandably many folks here and in other social media venues that are sharing the workaround have merely trusted the "Delete and Don't Notify" button on the calendar-with-open-invites-delete warning to do what it says it does.
This, however, is Stack, where we should promote testability, repeatability and empirical evidence in general.
This is simply tested and currently repeatable on latest build of macOS and Calendar at this time of writing: simply have another iCloud user send you an invite, and have them watch your acceptance-status change from NO REPLY to DECLINED, the moment you click "Delete and Don't Notify" on for that temporary calendar.
So far, @AppleSupport has yet to respond with anything except "PM us with your device and OS versions."
In the meantime, I have 5 spam invites filling my calendar that I'm not touching.
And no, I am not interested in turning OFF the direct-from-email-to-calendar feature, as it is a good feature, it just needs "show invites in calendar automatically, but only for senders in my contacts" and a "swipe-left-to-delete-the-invite" ... and then actually NOT send a decline.