SQL Server 2012 - Deadlock happening daily
Deadlocks are "simply" application logic errors. In SQL Server I think you can do the following:


review the application logic;
You can use transaction isolation in snapshot mode SET TRANSACTION ISOLATION LEVEL


See also: 

How to Track Down Deadlocks Using SQL Server 2005 Profiler

written by Brad McGehee. I think that he is more authoritative than me. He states:


  ...Deadlocks have been the bane of many a DBA. While rare for a well-designed and written application, deadlocks can be a major problem for—how can I say this delicately?—“less efficient” application code. What is even more frustrating is there is not much the DBA can to do prevent deadlocks, as the burden of preventing them in the first place is on the developers of the application...."