unfortunately nothing can be all thing to all people, unless you want to pay for it
we had this problem for a period of time and then we put, in BIG LETTERS, a note on the account creation page that the user should enter their billing address when creating their user account - I think we also put something about it on the checkout page
while this falls into the RTFM syndrom, I would say most people do read it and follow the directions and some don't
I understand the security issues at stake and reasons behind them (such as using the AVS system on Authorizenet), but again, there are other solutions out there, but be ready to dig deeeeeep into your pocket to use them
just my 2 cents...
we are going to move to the ADC connect method as rapidly as we can as yesterday, for the first time in 3 years, someone was trying to submit illegal transactions to authorizenet by copying the checkout page and then running a copy of it from their machine so we couldnt even see the ip where the stuff was coming from, but we called Authnet, changed out account ID, changed our password, altered the required fields in the settings panel, etc, and it vanished - using the ADC connect method will stop these types of things from occuring again
the next issue to address is what Visa and Mastercard are doing with implementing their systems so when users place online transactions, they will get a popup dialog so they can enter their unique password to validate the order with their code. American Express has a similar system called 'Personal Payments' where they scramble the first 3 or 4 digits of the Amex card number to allow the card holder to enter their card with a code embedded in their card number, but I have yet to see a system that can deal with it.....