I would question this assumption:
This is too much for sending over the network regularly as part of a save.
How often do you send the savegame? 7k entities, times 20 bits, equals less than 18 kB of data.
By comparison, the amount of cookie and image data involved in a single mouseover-and-click event in a web browser these days is probably about that same size.
Are you saying that your save data must be more lightweight than a mouse click? Where does this limitation come from? Are you targeting a modem where a 5 second background upload is not acceptable?
If I had to compress the data you talk about, I might want to look into some implicit representation, like a quad tree with filled/not nodes. Something like:
"Does the current sub-area have entities? If not, store 0, and terminate. Else store 1. If the size of the sub-area is greater than one, subdivide, and recurse for each sub-quadrant."
Depending on how clustered the entities are, this may compress well or poorly (but with a max 7% fill rate, it ought to at least compress somewhat.)
Apply gzip on top of any encoding you come up with for possible bonus gains.