But if the Italian workers are willing to work for less than UK workers (if this is in fact the case) then why should Total be expected to go for the more expensive option? They are operating in a competitive market - they aren't a charity.
It seems to me that if you want to protect existing high(er) rates of pay you either have to introduce a higher minimum wage UK-wide, or the unions have to start trying to operate on an EU-wide basis, although I'm not quite sure how that would work. You'd have to get workers to sign up to a union whose principle was that you don't take jobs for less than the current going rate in a specific geographical area, or something like that, surely.
Or you pull out of the EU and make laws against foreign workers taking jobs in the UK.