OK, I've improved things a bit.
http://pastebin.com/tzFsFWrg
Instead of creating a separate pipe for eink I just check the modification time of the existing /var/log/messages, it is usually only updated on eink updates and occasionally wifi.
By the way, the reason that your script worked so well with timing was because it's running as fast as the Kindle can run it which will drain the battery and slow things down.