SQL Server 2008 timeout on insert
I would enable Read-Committed Snapshot Isolation, which does row versioning under the covers by making use of tempdb. Readers will not block writers, which is what you're looking for in this scenario.

This is a per-database level setting, which doesn't require a reboot. However, you must have tempdb configured correctly (appropriate fixed-size file growth, sufficient data files, etc.).

ALTER DATABASE MyDatabase SET READ_COMMITTED_SNAPSHOT ON;
GO


(Read more here: Choosing Row Versioning-based Isolation Levels.)