Push Empty Directories with ADB
I don't see a way to get around this limitation of adb in the adb source code.  The sad part is that there is already a bug ticket mentioned to change this behavior (the comment was added Nov 2015).

For pushing empty directories I would try to build a TAR archive (e.g. my.tar), and execute tar extraction on-device via adb shell providing the TAR archive via stdin:

adb shell tar xv -C /storage/emulated/0 &lt; my.tar


If the tar files contains empty directories they will be correctly extracted on device.