Catch OLE DB provider "SQLNCLI10" for linked server "[Some Server]" returned message "Query timeout expired"
Simply reconfigure the Linked Server to have no timeout.  Or at least a longer timeout value.

EXEC master.dbo.sp_serveroption @server = N'&lt;server_name&gt;'
    , @optname = N'query timeout'
    , @optvalue = N'1200';  --1200 second timeout


To configure the server so that no linked servers ever timeout, make this change:

EXEC sys.sp_configure 'remote query timeout', 0; 


Then ensure the linked server has sp_serveroption 'query timeout' is set to 0.