As you know Marketo charges based on database size -- so not syncing records that don't have an email address will help you to remove them from the Marketo database and reduce the size of your database.
Look at your hard bounces. Assuming your deliverability is generally good (I like to target above 95% email deliverability, but there can be exception based on list source). Remove the bounced email addresses (set them to be null or blank) so this will be more records that will not be synced to Marketo.
Clean up duplicate email addresses in Marketo and SFDC. You probably have done this - but look at the duplicate leads (default smart list) in the Leads database. Cleaning up your duplicate leads will also help a lot. If you merge duplicate records in Marketo, you have to make sure you have corresponding merge rules set up in SFDC, otherwise records not merged in SFDC will resync back to Marketo.
"Closing out a lead" will depend on your business model and industry. Developing persona's can be very helpful to defining target audiences and what you want to say. Look at people that have never opened or clicked on your email campaigns over the past 2 years. Analyze this data to determine if they are the right target audience.
If possible I like to convert "lead records" to "contact records" as soon as I can - so that I can better manage and segment the different audiences of people that we want to target, engage and convert. And it helps with SFDC reporting too. But not all companies are comfortable with this approach for a wide variety of reasons.
Look at the number of @gmail, @yahoo, etc... personal email accounts -- you might want to place many of these people on a do not email list. Analyze the list first -- as their could be some valuable people on this list that used social sign-in which is linked to their personal email account.
Hope that helps.