You could dedicate a controller to the SD which can take time writing pages as the controller in the card is wear-leveling.
The ATmega1286P (costs $5 or $6 for the 40-pin DIP) has 16K RAM and 2 serial ports as well as SPI and I2C. You can put one on a breadboard or PCB and program it with the Arduino IDE. It runs the SPI and SDFat libraries, you can buffer write-to-SD data 12K or more. That takes a certain amount of log time to fill. When the SD finishes its hiccup, it can eat 512 byte pages fast until the next.
The SD is the drive and the controller be the buffer, could also provide a simpler interface than the SD library.
This is a breadboard Arduino page that shows the Uno chip 328P and "The Mighty" 1284P.
The software works for the same chips on boards but those usually come bootloaded. With this you can bootload many AVRs.