Use will when you are 100% certain about something; e.g., I will (definitely) study tonight.
Use should when you want to express an obligation; e.g., I should (definitely) study tonight, but there's a good movie on TV, so maybe I won't study. I haven't decided yet.
Shall isn't all that popular in AmE, so I don't know how to advise here. What I can do, though, is tell you that I use it in polite situations when I am speaking to someone who is older than I am or who is above me in status; e.g., Shall I do this for you?; Shall we go?