That's a very common problem, Rich. Unfortunately, there's no great solution. I've seen two approaches that seem to be most common:
1. Create lookup lists to associate Leads to Accounts. This one requires some ongoing maintenance. Basically, you would have to maintain a list of customer accounts, and populate an "account type" field on the Lead based on company name, email domain, inferred company, or all of the above.
2. Market development team qualifies and converts Leads to Accounts. This one requires more overhead, but is much more effective. Market developers would qualify and categorize every Lead that comes in, and associate it with the appropriate Account.