How do I kill mobs using /kill without them dropping loot?
The DeathLootTable
string tag can modify which loot table the mob will use when killed. The "empty" loot table will cause it to drop nothing:
1.12 and lower:
/entitydata @e[type=Zombie,r=40] {DeathLootTable:"minecraft:empty"}
1.13:
/execute as @e[type=zombie,distance=..40] run data merge entity @s {DeathLootTable:"minecraft:empty"}
You can simply teleport all hostile mobs in a certain radius 256 blocks down. May they, and their drops, rest in peace in the void below the world.
You should teleport the entity into the void. That will drop the items, but in the void too.
/tp @e[selector] ~ -100000 ~
This will take a few gameticks to kill the mob, but with the amount of natural spawns, this does not matter.