@philip4
I don't see anything in the creation process that would disable notifications. The only place I can think of that I've seen something similar with enrollments and you can disable the verification or the notification.
That leaves limited options.
The first is your cumbersome approach of disabling notifications, updating, and then re-enabling notifications.
The second requires thinking about settings and how you're doing things. If a user has turned on a notification, then Canvas is going to assume that they want that notification. You updating things without sending a notification would go against its intended purpose.
That means that perhaps you rethink the notification settings and change the default settings for users to be what you think most people would want. If you think they don't want to know about new or changed items on the course calendar, then turn that off. Then, if a student turns it on, it will be their decision. Be sure to explain what it means. Students could turn off calendar notifications for the account but turn them on for their courses -- I don't recommend that, it's too much work and students should be able to just use Canvas without having to jump through hurdles.
Related to that is do you really need to update the Canvas calendar so frequently? I don't know. Is there a different way to handle it? Do you need everything on the school calendar inside Canvas? It may be easier to have a global calendar outside of Canvas that you can share and the students can add to the calendar on their phone or computer.
I don't know how your synchronization run happens, but do you just send changes or do you send the entire batch? If so, does it only send a notification for things that have actually changed or does it send a message for all of the items regardless of whether it changed? If everything, then perhaps you can just send the changes?