Dynamic auditting trigger without temporary tables
Obviously I can hard code in the columns myself into the trigger and audit tables, but I'd rather have a solution which doesn't need updating every time there is a schema change on the table.


That is nearly the correct approach.  Write a stored procedure to generate your triggers and run it any time you change the schema.