However, there are several alternatives to add some space to the bars, like using groups (as Bostock does in this example) and setting the position the rectangles inside the group in a way that it has some space to the neighbours.

Another alternative is changing the positions and dimensions of the rectangles (as you said, "calculate my bar widths manually"). For instance, in this demo, I'm changing the width of each bar by 90% of the width of each bin.