I never did make a working ramdisk with native init.d support, but I DID find a better solution than the install-recovery.sh method.
I added a few lines to the end of /system/etc/init.gammaw.post_boot.sh, here's how it looks:
#!/system/bin/sh
...
...
if [ -d ${INIT_DIR:=$ANDROID_ROOT/etc/init.d} ]; then
logwrapper busybox run-parts $INIT_DIR
elif mount -o remount,rw $ANDROID_ROOT; then
mkdir -p $INIT_DIR
chown 0.0 $INIT_DIR
chmod 0755 $INIT_DIR
mount -o remount,ro $ANDROID_ROOT
fi
(NOTE: the elif condition, and lines before the fi keyword, aren't necessary.)
This script is executed during the last boot phase, when the boot animation stops, and is responsible for applying hardware-specific settings. Therefore, if any governor, scheduler, or virtual memory parameters are modified via init.d script, they must be done here. Remember to set your init.d scripts' permissions:
chown 0.0 /etc/init.d/script
chmod 0750 /etc/init.d/script
(NOTE: if your init.d scripts are not working, make sure busybox is installed, script names do not include an extension (script, not script.sh), and /etc/init.gammaw.post_boot.sh has root permissions set to 0750.)