I did this some time ago however I found that users were still being able to set themselves as invisible. For the life of me I couldn't find out how they were doing it and when asking them they didn't know either.
Finally I was able to track it down that when they changed their settings and saved them, the invisible setting was set true for some reason even though I had removed the code as Jake has pointed out above, so I ended up just changing the code in the account_preferences template to being hidden but true to make them still visible:
Code:
<li><input type="hidden" name="visible" value="1" checked="checked" /></li>
I actually extended that further by still allowing myself and my moderators to mark themselves as invisible but no one else by wrapping the code in an "if" conditional:
Code:
<xen:comment> IB added if and changed </xen:comment>
<xen:if is="{xen:helper ismemberof, $visitor, 3, 4}">
<li><label><input type="checkbox" name="visible" value="1" {xen:checked $visitor.visible} />
{xen:phrase show_your_online_status}</label>
<p class="hint">{xen:phrase this_will_allow_other_people_to_see_what_page_you_currently_viewing}</p></li>
<xen:else />
<li><input type="hidden" name="visible" value="1" checked="checked" /></li>
</xen:if>
So I am not sure if anyone else is finding their users still being able to become invisible or it was something strange that I have done but just in case this may help