I committed a patch that added a mechanism I called "bottom-up index deletion" recently:
https://www.postgresql.org/docs/devel/btree-implementation.h...
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit...
Bottom-up deletion is specifically designed to ameliorate what the blog post refers to as "write amplification". Testing has shown that it's very effective with many workloads.