Okay,
it was not as easy as just killing avahi-autoipd service when up (or any dhcp) event took place in dispatcher. This approach led to new ipv4ll address because, when avahi-autoipd re-started some other party reported "conflict" with that old address and avahi-autoipd selected new one. This was not what I wanted.
So, instead of killing avahi-autoipd, I just executed /etc/avahi/avahi-autoipd.action script with BIND mode provided that avahi-autoipd was found from ps list bound to valid address. Other-vice I restarted avahi-autoipd like the original plan was.