After more than half a year of tweaking + trial and error, I think I have finally pinpointed the cause of my server crashes. Nope, nothing to do with kernel stability, nothing to do with crond or any other service. Probable cause is hardware related, the pcb for the barrel connector power input is either badly designed or soldered resulting in random power disruptions. The fact that it tended to happen at 3-6am in the morning seems to be pure coincidence. After switching to using micro usb to power the board, I managed a record 31 days and running.
I never suspected power to be an issue since it could run for 1-2 weeks fine, I also thought that powering through the barrel connector would be a better choice as it was designed specifically for power instead of the micro usb which is designed for both power as well as connecting as a USB slave to a host device. On hindsight, most arm devices aka cellphones are powered through micro usb and the board might have been adapted from a cellphone pcb design with the barrel connector added on as an afterthought. Next aim: 100 days. Hope it can soldier on.