My runcommand-onstart file is now 113Kb in size, but I've found it has to be devoted purely to xboxdrv and case $2. If I try to add anything else to it with more general application like trying to invoke a bash script unrelated to xboxdrv, runcommand-onstart just doesn't work.
I run 26 systems that make use of xboxdrv, sometimes having several dozen exceptions made for individual games. I've managed to keep the size of my runcommand-onstart.sh down to 39.9k by offloading the execution of xboxdrv itself to separate scripts. All the if/then stuff is still there, but once the conditions are met, it launches an outside script with the xboxdrv command. That may help to alleviate your situation.
@elshiftos spectrum scraping works just fine with screenscraper. I've uploaded a ton of box scans but nowhere near a complete set. It is picky with the filenames though so maybe check on the website that you're romnames are correctly named?
Many thanks for the info, I thought it might be that. Getting the system roms proved to be a bit of a sod. First ones kept giving me 'drive errors', but I came across a fuse package on Aminet and got the correct system roms from there. Watching 'Weed' right now... looks brilliant running on the big screen.