The answer to "How can I add an empty directory to a Git repository?" is you can't through regular git commands, because the staging only has files, not folders.
Commits, on the other hand, do have folders, so a commit could conceivably have an empty folder.
How would create a commit with an empty folder? What about a commit to remove an empty folder? Can I add the empty folder on top of other changes (made via the staging area)?
Note: Here is evidence that commits can contain folders:
$ git cat-file -p 6c07af3
tree 3d6e2028b57fba5cd2c5f1f01cdd5be9814335ec
author *** 1452398070 -0500
committer *** 1452398070 -0500
A commit
$ git cat-file -p 3d6e20
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file1
040000 tree e4af7700f8c091d18cc15f39c184490125fb0d17 folder
Note that it stores which things are files and which are folders, as well as file and folder names. What I would want to do is create my own git commit object, without going through the staging process.