I've faced the same problem. I've redirected opkg cache to the hdd by adding the line below to /etc/opkg/opkg.conf
option cache_dir /hdd/opkg/cache
I assume the directory must exists, so I've created it on the disk. One can also redirect the temporary directory, but I haven't tested this.
After that I've succesfully upgraded the system, but some warnings appeared.
(eg. "Failed to open ///var/lib/opkg/info/enigma2.list" - this file is empty now). Perhaps the earlier failed upgrades damaged something.
(btw. failed upgrades leave junk on the flash, most probably some temporary files, which disappeared after reboot - I've checked it with df.)
I will eventually reinstall the system, but my point is that current image size for uno is problematic. Its near the flash limit and usually you will add a few extra packages. There is always a risk of damaging the system during upgrade but with so little space on the device it must just happen sooner or later.
Maybe it would be enough to move less critical files to hdd, which I suspect most users have in their tuners?