I also miss this feature however there are options:
a) for small and mid-sized tables you can use a SELECT + conditional INSERT or UPDATE or INSERT-on-exception-UPDATE works
b) write-heavy tables are worth being rearchitected to be INSERT-only as this helps avoiding any locks
I like MERGE too, in the proper place. I'm not sure that the absence of MERGE constitutes "this terrible state".
It would be like a commercial RDBMS lacking boolean and serial types, necessitating reams and reams of repetitive, error-prone boilerplate constraints and insert/update triggers.
This is the most fundamental mutation operation on dictionary, in all programming languages, denoted by:
map[key] = value
It's truly mystifying how something so basic could be missing from something that is supposed to be a better system for storing data.
It also doesn't even fully implement the SQL standards, missing for example the MERGE statement in SQL 2003 standard, which is also utterly baffling.
Note that all databases have catastrophic issues like these, it's just ridiculous how they can be in this terrible state.