All three words are similar and can confuse even native speakers. Here is a quick guide.
Assume is used to guess and it is often, but not always, used to indicate a lack of knowledge about the situation.
“I assume he was at the pub because he wasn’t at home last night.”
Presume is used to indicate that you are making a guess about something and that you may change your mind after you get more information.
“I shall presume he is innocent until proven guilty.”
Suppose is the least formal and most common of these verbs. It is used for guesses and also as a weakened way to say ‘think’ when making suggestions.
“I suppose it will take a long time to drive from London to Edinburgh.”
“I suppose we should take the train instead.”