There is an option 4 on wait states (at least)
1. Capture the wait stats every 15 minutes
2. Store the current captured value into a staging table
3. Calculate the differences in Wait Stats between the current capture and the previous one
4. Store the differences
5. Never clear wait stats at all. Instead add a job that runs at instance start up that clears the staging table and replaces the values in it with all zeros.
Put those into a nice Tabular model in SQL 2012 or a Powerpivot in SQL 2008R2 and you can analyze with 15 minute rollups to half hours and hours. It's interesting to see your wait states across a given day.