So, I think it might be worth trying to flash new firmware to my other router (TP-Link Archer VR200), which supports a custom firmware called OpenWRT.
It's also a more powerful router overall, as it has 2 CPU cores clocked at 500mhz.
This firmware includes a special feature called SQM, that is specifically designed to address router bufferfloat / local network congestion.
I did find though that I could minimize this problem by prioritizing ICMP packets using QOS with a DSL-N16 router.
EDIT- Looks like there's no easy way to flash the OpenWRT firmware to this router...