On the other point (creating a 1-row temp table ahead of the trigger)....that technique has been around for years.
If I know a client is using Windows Authentication, I know I can use system_user or related SQL functions....but if not....most tables I've worked with have always had a LastUserKey column that was populated as part of the UPDATE.....so I know I can read that from the row in the trigger, to get the user (if I want to write an an audit row)
Up until 2004, I used #temp tables quite a bit....I rarely use them today.