You can use an expression with an IF condition on your line to fix this. First, remove the space between your salutation and FirstName:
@Salutation@@Firstname@ @last name@

Then, edit your @salutation@ variable to the following:
IF(TRIM([Salutation]) <> "", [Salutation] & " ", "")

This will basically check if your salutation data field is empty. If it's not, it prints the salutation with a space. If it's empty, it prints nothing ("" being an empty string).

Hope this helps,