Overall, I think I didn't do a half-bad job on the board but there are a few more things that I would change in addition to a reader's suggestion of dedicated headers for I2C and SPI:
Move the crystal and its capacitors a little further away from the socket to make it easier to install a ZIF socket. While I don't swap out chips often, the Atmega1284P holds on for dear life which means considerable force is needed to remove the chip, which makes bending a pin or two a real possibility.
Add a jumper in series to the power LED. When it comes to working with low-power projects and running it off of batteries, the little bitty LED can consume quite a bit of power compared to everything else. One could simply not solder in the LED, but this would be a more flexible solution.
Combine many of the jumper headers. Soldering in a lot of 2-pin headers is a bit time consuming and more tricky the get them straight vs using one or a few larger headers.
Possibly shrink down the board size. The fab that I used for this board (JLCPCB) quotes the same price for anything up to 10 x 10 cm, so unlike with other boards I've designed I didn't place as much emphasis on making everything compact as possible. While it does give me quite a bit of room to easily add things on for future revisions, in it's current state it does mean it would cost considerably more to get it made at a fab that strictly charges by the square in or cm.