I'm using shortcodes to insert some image links to my posts I grab from XML files (by an ID). As this needs to be executed just once it's not necessary to this everytime a user loads the page. So how can I replace the Shortcode with the needed content as soon as i save/publish/update the page?
That's not how shortcodes work. Shortcodes are meant to be interpreted whenever the page is rendered - they're used when WordPress filters the page/post content.
What you're looking for is a content template. A tag the user can add to the page that will be converted into something else when the post is saved, like an RTF tag in a mail merge.
There's a filter that's run before posts are inserted into the database: