Mmmm I don't like using inferred state because someone could be traveling, etc and that would be listed in their lead record.
I'd use the actual state field, I know this won't be populated for everyone though. You can def clean the lists many different ways - if you're looking to format (ex: all Florida, FL > just be FL consistently), or fill in state fields based on area codes or postal codes. This is all lots of work but can be done via smart campaigns.