I've been looking around and it seems like するべき is also correct. There are literally millions of examples of it on the Internet (not always a good way to deduce things, I know) and my grammar books all say it as well.
http://oshiete1.watch.impress.co.jp/qa5035889.html makes it sound like すべき is a more formal version of it. Anyone have any other input on this?
Checked with a native, and you were write that すべき tends to appear in writing, while するべき is used more often in speech. She also looked at that webpage you linked, and while the user talked a lot about nuance, that nuance could just as easily be reversed or not even noticed depending on who you talk to (and where you are).
What is the difference between this grammar point and はず when referring to what someone should do? Also what is the difference between this grammar point and ないとだめ, when referring to something you must or should do? Thanks in advance! :D
はず is used more to show expectation. In English, we could say something like "She should have arrived by now," but this is the expectation (はず) "should", not the obligation (べき) "should".
ないとだめ isn't too formal - it's interchangeable with なければだめ and なくちゃだめ and so on - but べき is quite formal. I'd say that べき is also used more for universal rules (students should study), whereas ないとだめ could be used in reference to individuals ([i]you[/i] need to study.)