"Is there some way to ensure that the INSERT statement is committed and only the statements in the trigger are rolled back?"
It depends on the statement in the trigger:
1. Failure of an insert, update or delete will always rollback everything.
2. A rollback will rollback everthing
3. A raiserror will not rollback anything.
SQL = Scarcely Qualifies as a Language