I learned about privacy.com here on HN and it has been very helpful for me. You can create virtual cards for single-use or recurring payments. Each card can only be used by one vendor. You also set a max amount.
Exactly, some implementations can even lock it to a single "message" (what you see on the credit card statement) so that it can't be used for a different purchase. Needs cooperation from the merchant not to put the subscription date in the message but otherwise, it's not exactly rocket science.