3D Secure solves part of this problem. But there are two issues with it (1) some companies like PayPal have forced banks to make an exception for them (2) your credit card number can still be used in other contexts but much less conveniently than it used to be able to.
Also, there are a lot of really really bad implementations of 3D Secure (the most common problem being having it hosted on a domain that's not bankname.com but some outsourced company)