there is a way to delete entities that do not exist in the xml file upon import. unfortunately, if item key is changed, all history is lost. similarly, if trigger name or expression is changed, events for that trigger are lost.
it might be useful to allow specifying one or more "old keys", "old names" and "old expressions". that way users could keep on importing templates that change these entities, and keep all the history. especially nice with the default zabbix templates, like the internal monitoring one.