Talvez você só precise alterar o buffer:
# buffering totally off
stdbuf -i0 -o0 -e0 command
# buffering per line only
stdbuf -oL -eL command
Funciona para mim aqui ... seus resultados podem variar. Se isso não funcionar, tente colocá-lo antes de comandos diferentes (não enquanto estiver lendo, pois são componentes básicos).
for i in {1..2000}; do
sleep 0.1 && echo $(netstat -s | grep -i syns)
done \
| stdbuf -oL -eL uniq | while read line; do
echo $(date) $line
done