Alternatives to Linked Servers (Allow Inline SQL with Parameters)
No, you shouldn't use OPENQUERY IMHO. How about this construct, which allows you to use sp_executesql and parameters:

DECLARE @someParam INT = 5;

EXEC LinkedServerName.master.sys.sp_executesql
  @stmt = N'SELECT @i, @@SERVERNAME, @@VERSION;', 
  @params = N'@i INT', @i = @someParam;