• Snapshot isolation level may be able to help but it does require some changes - either the properties set for the connection need to be changed or the t-sql code needs to include "SET TRANSACTION ISOLATION LEVEL SNAPSHOT".

    Have you done all you can to get the transactional replication side of things sorted ? There are some tuning options that you can use to improve things - e.g. if the application that is updating the source database uses sprocs, you could replicate the sproc call (e.g. EXEC dbo.MyStoredPrc @Myparm='123') instead of the resultant INSERT/UPDATE/DELETE statements (if a single sproc call causes multiple INSERT/UPDATE/DELETEs this could be useful).

    You can also change the way that replication uses transasctions which, by default match the original transaction. This could be used to reduce the "size" of a transaction which may reduce blocking.