put a filter on the relationship that does not show records with empty first/last names
Try using a calculated FullName field to use as match field instead of first and last names.
and dont forget to trim!
You can add a pair to the relationship as follows, although check for potential impact on performance by adding this:
Create a field called "One" (calc) that equals 1
Create a field called "ContainsName" (calc) that also equals 1 if not IsEmpty (Firstname) and not IsEmpty ( Lastname )
Match One = ContainsName
This could have similar effect to a portal filter.