Unfortunately not. After many years of advanced French study I have not found a good solution to this problem. Someone may have made their own trick to remember but there isn’t a general rule. The best way to learn it is to keep practicing!
I don’t think there’s a foolproof rule, but in all the cases I can think about, there’s a figurative, non-literal and idiomatic meaning to the order "adjective + noun" whereas "noun + adjective" is the literal meaning.
You can’t guess what the idiomatic meaning might be if you don’t know it, though.
Un grand homme = a great (significant) man, in which the word "grand" is used figuratively
Un homme grand = a tall man, in which the adjective has a literal meaning, i.e. it means the same as "un homme qui est grand".
More examples here: http://french.about.com/od/grammar/a/adjectives_fickle.htm