SQL to find users that the current user hasn't liked/disliked
Personally, I would just stick with what you have already got.

You could try something like this, although too me it doesn't look any tidier. 
You would need to profile it against your database, to see if it performs any better.

SELECT * 
FROM users
left outer join profile_likes on profile_likes.profile_id = users.id AND profile_likes.viewer_id = $my_user-&gt;id
left outer join profile_dislikes on profile_dislikes.profile_id = users.id AND profile_dislikes.viewer_id = $my_user-&gt;id
where users.id &lt;&gt; $my_user-&gt;id
having profile_likes.profile_id is null and profile_dislikes.profile_id is null