Ah ok, yeah you're already doing what I suggested within the first query. The second query is what should be modified. I'd recommend avoiding any query that can be executed an arbitrary amount of times, when doable. It's not that it's a bad query in terms of execution since everything is indexed appropriately but once that page has 20-50-so-on users on the page it's not ideal.
I'd recommend changing it to where you get all the users ignoring all the users on the page. Send it an array and then do "Where user_ignored.ignored_user_id IN (" . $this->_getDb()->quote($userIds)
Then you have one query regardless of how many users are being analyzed.
[Edit] It's a similar concept to how XenForo does "getAndMergeAttachments" or whatever.