For example if a user canceled one event and created new one can I send both changes in a single *.ics file? Cancel (not update) first event and create a new event?
No. The METHOD property which indicates the type of scheduling operation is a top level property (directly under VCALENDAR). If you are using iMIP to send those updates, you may be able to send multiple ics files in different MIME body parts (one with CANCEL and one with REQUEST - see for example https://www.rfc-editor.org/rfc/rfc6047#section-4.5 ).
As an alternative, you may be able to send just a METHOD:REQUEST and directly set the STATUS property of the first event to CANCELLED (see https://www.rfc-editor.org/rfc/rfc5545#section-3.8.1.11 )
Now, in any case, you are almost guaranteed to have very poor interoperability with most clients, as they typically handle only one event/one method at a time (I'm still assuming iMIP here).