Yes you can do this, but I'd suggest two modifications to the software to help out (along the lines of what others have suggested)
1) Use a buildroot build system rather than Raspbian (NOOBS uses one of these, you can easily download it and build it yourself). That can be 100 percent reliable with reference to the SD card because it doesn't need to write to the SD card to work. Otherwise split the Raspbian filesystem into a read only and read/write section to avoid corruption.
2) Implement a watchdog. Currently the watchdog isn't implemented because I'm not very happy with the various implementations of it! But it is used in the kernel to do software reset so we know it works fine, it just needs a bit of a longer timeout!