If you need to exclude all of those email options at once for an export or something I would search up those people, put them in a group, and exclude the group from your searches.
To search up that group of people I would use search builder (Search>Search Builder in the main CiviCRM menu) with the following settings:
Contacts: Email: Primary: Is Empty
Also Include
Contacts: On-Hold: Primary: > 1
Also Include
Contacts: Do Not Email: = 1
Also Include
Contacts: No Bulk Emails (User Opt Out): = 1
If you are using civiMail the system should not let you actually send mails to any of the groups described, even if they are included in your target groups (just as it de-duplicates for you when you send to multiple groups). You can see this when you look at the "estimated recipients" on the right hand side in civiMail is lower than the actual sum count of your target groups.