[SuperSU] bgcngm:
I found your post when I was searching the thread for a solution to my problem. Doesn't matter if I install the latest flashable SuperSU .zip or if I integrate it on a custom .zip and make the proper changes to the updater-script, I always get the damn message the "The SU binary needs to be updated. Continue?". Clicking continue and choosing any of the options doesn't solve.

Here is the recovery.log after installing SuperSU .zip via adb sideload:

Sideload started ...
Now send the package you want to apply
to the device with "adb sideload <filename>"...

sideload_service invoked
adbd exiting after successful sideload
E:listen on USB
E:userid is 2000
E:Event loop starting
I:sideload process finished
I:sideload thread finished
Restarting adbd...
E:Can't open /cache/recovery/last_install
E:failed to open last_install: No such file or directory
Finding update package...
I:Update location: /tmp/update.zip
Opening update package...
Installing update...
*********************3+0 records in
3+0 records out
3 bytes (3B) copied, 0.000346 seconds, 8.5KB/s
3+0 records in
3+0 records out
3 bytes (3B) copied, 0.000478 seconds, 6.1KB/s
2+0 records in
2+0 records out
2 bytes (2B) copied, 0.001806 seconds, 1.1KB/s

SuperSU installer ZIPArchive: /tmp/update.zip
inflating: META-INF/MANIFEST.MF
inflating: META-INF/CERT.SF
inflating: META-INF/CERT.RSA
inflating: META-INF/com/google/android/update-binary
inflating: META-INF/com/google/android/updater-script
inflating: arm/chattr
inflating: arm/chattr.pie
inflating: arm/su
inflating: common/99SuperSUDaemon
inflating: common/Superuser.apk
inflating: common/install-recovery.sh
inflating: x86/chattr
inflating: x86/chattr.pie
inflating: x86/su
/tmp/supersu/arm/chattr: No such file or directory while trying to stat /system/xbin/su
/tmp/supersu/arm/chattr.pie: No such file or directory while trying to stat /system/xbin/su
/tmp/supersu/arm/chattr: No such file or directory while trying to stat /system/bin/.ext/.su
/tmp/supersu/arm/chattr.pie: No such file or directory while trying to stat /system/bin/.ext/.su
/tmp/supersu/arm/chattr: No such file or directory while trying to stat /system/xbin/daemonsu
/tmp/supersu/arm/chattr.pie: No such file or directory while trying to stat /system/xbin/daemonsu
/tmp/supersu/arm/chattr: No such file or directory while trying to stat /system/etc/install-recovery.sh
/tmp/supersu/arm/chattr.pie: No such file or directory while trying to stat /system/etc/install-recovery.sh

*********************
- Mounting /system, /data and rootfs
cp: can't stat '/system/app/GMS_Maps.apk': No such file or directory
- Extracting files
- Disabling OTA survivalrm: can't remove '/system/app/GMS_Maps.apk': No such file or directory

- Removing old filescp: can't stat '/GMS_Maps.apk': No such file or directory

rm: can't remove '/GMS_Maps.apk': No such file or directory
- Creating spacechown: /system/app/GMS_Maps.apk: No such file or directory
chown: /system/app/GMS_Maps.apk: No such file or directory
chmod: /system/app/GMS_Maps.apk: No such file or directory
chcon: Could not label /system/bin/.ext/.su with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 168: chcon: not found
chcon: Could not label /system/xbin/su with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 169: chcon: not found
chcon: Could not label /system/xbin/sugote with u:object_r:zygote_exec:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 173: chcon: not found
chcon: Could not label /system/xbin/sugote-mksh with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 173: chcon: not found
chcon: Could not label /system/xbin/daemonsu with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 174: chcon: not found
chcon: Could not label /system/etc/install-recovery.sh with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 175: chcon: not found

chcon: Could not label /system/etc/init.d/99SuperSUDaemon with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 176: chcon: not found
chcon: Could not label /system/etc/.installed_su_daemon with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 177: chcon: not found
chcon: Could not label /system/app/Superuser.apk with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 178: chcon: not found
chcon: Could not label /system/app/Maps.apk with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 179: chcon: not found
chcon: Could not label /system/app/GMS_Maps.apk with u:object_r:system_file:s0: No such file or directory
/tmp/update_binary: line 180: chcon: not found
chcon: Could not label /system/app/YouTube.apk with u:object_r:system_file:s0: Operation not supported on transport endpoint
/tmp/update_binary: line 181: chcon: not found
- Placing files
- Restoring files
- Setting permissions
- Post-installation script
- Unmounting /system and /data
- Done !

And the relevant part of the modified updater-script (for the second method):

run_program("/system/bin/toolbox", "mkdir", "/system/bin/.ext");
run_program("/system/bin/toolbox", "cp", "/system/xbin/su", "/system/bin/.ext/.su");
run_program("/system/bin/toolbox", "cp", "/system/xbin/su", "/system/xbin/daemonsu");
run_program("/system/bin/toolbox", "cp", "/system/xbin/su", "/system/xbin/sugote");
run_program("/system/bin/toolbox", "cp", "/system/bin/mksh", "/system/xbin/sugote-mksh");
set_perm(0, 0, 0777, "/system/bin/.ext");
set_perm(0, 0, 0755, "/system/bin/.ext/.su");
set_perm(0, 0, 0755, "/system/xbin/su");
set_perm(0, 0, 0755, "/system/xbin/daemonsu");
set_perm(0, 0, 0755, "/system/xbin/sugote");
set_perm(0, 0, 0755, "/system/xbin/sugote-mksh");
set_perm(0, 0, 0755, "/system/etc/install-recovery.sh");
set_perm(0, 0, 0755, "/system/etc/init.d/99SuperSUDaemon");
set_perm(0, 0, 0644, "/system/etc/.installed_su_daemon");
set_metadata("/system/bin/.ext", "uid", 0, "gid", 0, "mode", 0777, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/bin/.ext/.su", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/install-recovery.sh", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/sugote", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:zygote_exec:s0");
set_metadata("/system/xbin/sugote-mksh", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/daemonsu", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/su", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
run_program("/system/xbin/su", "--install");

I already faced this issue in two Lenovo phones, both running Android 4.4.2. Please let me know if you need additional information from my side. On a sidenote, the root acess is working fine for the apps that ask permissions. The only problem is the binary update message, which doesn't allow to enter SuperSU to change any setting.