Find a new card issuer, preferably one whose implementation of VbV or Securecode allows you to approve transactions in their app.
It sounds like B of A is using a similar VbV implementation to Chase, where if it can't approve the transaction on its own it declines and makes you call in and then try again. Except that trying again sometimes trips the merchant's or processor's fraud protection and gets a decline from their end.