With all the problems they've had with MERGE, I wouldn't use it on a bet. Since it would resolve as 3 individual queries anyway, I'd use a good ol' fashioned "Upsert" consisting of 3 queries.
But, shifting gears a bit, the OP said that they also wanted to use DELETE. That very likely means that whatever the source of the updates is, it has a high probability of being a "total replacement" each time. It would be much easier and sometimes much faster to simply replace all of the data from the source. It would also guarantee that you haven't "lost sync" with the data.
Full replacement also has the benefit of being able to load table "B" while table "A" is in service and, when "B" is done loading and validated, just repoint a synonym. Next month (or whenever), do the same in reverse. The clear advantage is there will be no blocking whatsoever and the synonym repoint will auto-magically wait until no one is using it. Total "down time" will be measured in milliseconds and cause no outage.