Here is Campaign Monitors API. Is there a reason the API is not ideal? Otherwise it seems you answered your own question in the question...
In automating the process, obviously you still need their email address. If you are still after some subscriber confirmation this might be an option:
ESP's all supply the form code you can place on your own page/website. You could easily link to the page with a URL parameter like so:
<a href="http://www.mysite.com/signup.php?Email=subscriber@theiremail.com">Sign Up</a>
The idea is to prefill the form with the email address (and any other info) by passing as a URL parameter. All the subscriber would have to do is hit enter to confirm.