Best Answer - Chosen by the Asker
You often use '~줄 알아요' when you "beg to differ."
제 친구는 자기가 세상에서 제일 예쁜 줄 알아요. My friend "thinks" she's the prettiest in the world. (But I beg to differ.)
That's why ~줄 알아요 is not usually used with the 1st person, because then you're contradicting yourself, unless of course you're talking about what you thought in the PAST. Because what you think now may differ from what you used to think in the past.
오늘 비가 올 줄 알았어요. I "thought" it would rain today (but turns out, it didn't. I was wrong.)
That's why you see '-줄 알다' used with the past tense a lot, but it doesn't have to be, (as in the example of 제 친구는 자기가 세상에서 제일 예쁜 줄 알아요).
Unlike '-줄 알다,' '것 같다' does not necessarily mean you differ.
오늘 비가 올 것 같았어. (I thought it would rain today. And maybe it really did or it didn't).
'-것 같다,' s always used with the 1st person, like Peter said. And when used with the 3rd person, you use '-것 같다고 생각하다'.
내 친구는 내일 비가 올 것 같다고 생각해요. (My friend thinks it will to rain tomorrow.)
The grammatical reason behind this is because "알다" is a verb, and "-같다' is actually an adjective. Have you learned about the cases where an adjective works like a verb? It takes the form of "나+topic particle Something/Somebody+subject particle Adjective" and it means "I think Something/Somebody is Adjective"
For example,
나는 강아지들이 정말 예뻐 (I think puppies are really cute)
This structure only works for the 1st person, and for the 3rd person, you need to attach "-고 생각해"
내 친구는 강아지들이 정말 예뻐 (incorrect)
내 친구는 강아지들이 정말 예쁘다고 생각해. (My friend thinks puppies are really cute).
And back to '-것 같다,' it is actually an adjective that means "likely"
(나는) 내일 비(가) 올 것 같다. "I think it is likely to rain tomorrow"
which in English is more natural to translate as "I think it will rain tomorrow."