I let players try to hide whenever they want. How good is their hiding spot/strategy gives them bonus/penalties in the stealth roll (only I know the adjusted stealth result). If the strategy is absurd, like trying to hide in plain sight, others will auto-succeed their Perception against them. But I don't tell them the final result of the hiding test.
A player trying to hide can't automatically know if they failed until someone sees him and do something that gives him this info, like attacking him. It is meta gaming. You can't always tell a creature saw you just looking at it, the creature can deceive, or be blind, or whatever. This rule removes a lot of possibilities.
Furthermore, if a player can't hide when an enemy has line of sight to him, this rule can be used by players to detect the presence of enemies. Just try to hide and if you failed then there's an enemy somewhere who has line of sight to you.