When I manually add the following labels with (axis(1, at=1:27, labels=labs[0:27])):
axis(1, at=1:27, labels=labs[0:27])
> labs[0:27] [1] \"0\\n9.3%\" \"1\\n7.6%\" \"2\\n5.6%
@PLapointe just posted what I was going to say, but omitted the bonus answer.
Set padj = 0.5 in axis to move the labels down slightly.
padj = 0.5
axis