[Android Software/Hacking General [Developers Only]] osm0sis:
Here's a script to check and increase the size of su.img if necessary. I've bolded the additional script in comparison to my previously posted /su mounting commands.

[b]payload_size_check() {
reqSizeM=0;
for entry in $(unzip -l "$@" 2>/dev/null | tail -n +4 | awk '{ print $1 }'); do
test $entry != "--------" && reqSizeM=$((reqSizeM + entry)) || break;
done;
test $reqSizeM -lt 1048576 && reqSizeM=1 || reqSizeM=$((reqSizeM / 1048576));
}
target_size_check() {
curBlocks=`e2fsck -n $1 2>/dev/null | cut -d, -f3 | cut -d\ -f2`;
curUsedM=$((`echo "$curBlocks" | cut -d/ -f1` * 4 / 1024));
curSizeM=$((`echo "$curBlocks" | cut -d/ -f2` * 4 / 1024));
curFreeM=$((curSizeM - curUsedM));
}[/b]

ui_print "Mounting...";
ui_print " ";
[B]umount /system 2>/dev/null;
mount -o ro -t auto /system;[/B]
mount /data;
mount /cache;
suimg=$(ls /cache/su.img /data/su.img 2>/dev/null);
if [ "$suimg" ]; then
umount /su;

[b] payload_size_check "$ZIPFILE" "bin/*" "xbin/*";
target_size_check $suimg;
if [ "$reqSizeM" -gt "$curFreeM" ]; then
suNewSizeM=$((((reqSizeM + curUsedM) / 32 + 1) * 32));
ui_print 'Resizing su.img to '"$suNewSizeM"'M...';
ui_print " ";
e2fsck -yf $suimg;
resize2fs $suimg "$suNewSizeM"M;
fi;[/b]

test ! -e /su && mkdir /su;
mount -t ext4 -o rw,noatime $suimg /su;
for i in 0 1 2 3 4 5 6 7; do
case `mount` in
*" /su "*) break;;
esac;
loop=/dev/block/loop$i;
mknod $loop b 7 $i;
losetup $loop $suimg;
mount -t ext4 -o loop $loop /su;
done;
fi;

The payload_size_check function uses the list entries from unzip for the supplied payload zip and locations within (multiple may be added to the command-line, as shown) to calculate the total required space in mb. It saves this size in the variable reqSizeM for subsequent use. For any wondering, it doesn't use unzip's listed total because I've found (in my gappsintegrator work) that unzip can be unreliable on certain signed zips and APKs, bailing before printing the total, despite reaching the functional end of the archive.

The target_size_check function uses e2fsck to read the used/total block status of a target device or ext4 img then calculates the target's free space in mb. It saves this as curFreeM, as well as saving curUsedM and curSizeM. This can be used with su.img as shown, but also works just as well with block devices in /dev/block in case someone has a mod that can go in /su or /system and wants to make sure there's space for either way. ;)

The script, as written, then adds 32M to whatever the current size of su.img is, to ensure that the installation will fit, and outputs the new size to the user. The "+ 1" in the suNewSizeM calculation could be changed to "+ 2" for a 64M increase, or "+ 3" for 96M, etc., if the mod requires an expansion that large. :cowboy:

The only thing missing is a check that the mod doesn't already exist in su.img before increasing the size of it; easiest way to do that is to check for a file from the mod within /su before making any changes. For a working example, I've just uploaded a new UPDATE-Adreno.Systemless.Installer-signed.zip via the link in the OP. :good:

I work on these projects in my limited time off, so if you like the progress I'm making, or enjoy anything else I've done on xda, please do hit the donate link from my profile. Thanks for your support!

Edit: Added a /system mount because in some recoveries and in FlashFire there is no e2fsck binary without. :good: