My place of employment is looking into buying a third party tool, for batch based US and Canadian Address correction, with Geo-coding.
Note that, We are a C/C++ Unix Shop.
We use Melissa Data, they have a number of solutions including geocoding and address normalization. They have good APIs and the support has been great. Their solutions work on many platforms and languages including C and C++ on Unix. Can't think anything negative about them.