I also think I'm bothered too much by these optimisation things. I've rewritten my code twice already. Once using Socket.IO, once using JSON over standard-websockets and once comma-separated over websockets.
I couldn't really find a good source on the "proper" way to do it. I've done the basics of a shooter in gamemaker using 39dll (addon for TCP messages) where both server and client would know the size of a variable and use every single byte for data, but yeah.
Same goes for creating and syncing a "map" and making it traversible while still doing collisions. And for example; if bullets …