Research. No way to be 100% certain, but read whitepapers, talk to devs, etc. The less info you can find, the greater likelihood of a scam.
I agree. There's no better way to find out if one ICO is a scam or not. Check its background carefully. It's objects, developers, and also, its management team. Some people look at the management team carefully, especially if the manager have a negative trust rating. It means that there must be something wrong with how he handle a previous project, or he might have a history of scams; at least choose those that are handled by trusted managers. For the project, join those that have good products or new concepts to introduce, they tend to be embraced more by people.