For the OS, make the OS a read only file system, and use a ramdisk for any files that need to be written but you don;t care about. Logs / File & App Locks, etc. Also get off the SD card and boot from USB as soon as possible as SD cards have terrible fault tolerance on the PI.
So, put the first stage boot loader on the SD card (as you have no alternative, except on a Pi3), and make it boot the OS in read only mode from a USB stick. Create a few ram disks, and your off.
As for data partitions, there are lots of options depending on what you are after and how much you want to spend, but it's the root partition listed above that will always give you the most grief and doing the above will make is as stable as you can get.
This is a good article on ro_root for PI
https://hallard.me/raspberry-pi-read-only/
This has info on USB boot
viewtopic.php?p=351659#p351659
Both may be a little out of date, but will point you in the right direction.