In other words, if the so only meaningfully fits between the two clauses it joins, then that’s a coordinating conjunction. But, if the so clause works at the beginning, predicting something because of something else, for example, it's acting like a subordinating conjunction, so no comma is needed. (Note that the article on Grammar Girl, linked below, never actually says it is a subordinating conjunction. It just says that it acts like one.)
Another thing I noticed was that most of the subordinating-like instances hide an invisible that right after so (or close, such as in so long that), so if you can insert a that in the clause, you probably don’t need the comma. Fun, huh?
So, to recap, if you find a so you're unsure of, move its clause to the beginning or insert a that right after it. If either action makes it sound weird, then so is a coordinating conjunction in that case, and you need a comma.
He wanted to go to the party, so I went with him.
Doesn't make sense if you say: So I went with him, he wanted to go to the party. In this case, so is a coordinating conjunction.
He told me there would be a snack bar at the party so I would go with him.
Here you could state this as, "So I would go with him, he told me there would be a snack bar at the party." That makes sense, so you would treat it like a subordinating conjunction, no comma. It also passes the insert that trick: He told me there would be a snack bar at the party so that I would go with him.
Here are a couple of grammar articles I found helpful with regard to so and other conjunctions. The Grammar Girl one was my primary reference for this post.