So the safest option is to buy directly from the site itself right ? no coinbase, no exchanges?
yes. what you can do is create a new ethereum wallet if the iCO is ethereum based you can go to myetherwallet.com and create one for free and then buy bitcoins on an exchange and convert it into ethereum then send it to the wallet you have created on myetherwallet. after that, you will see the etheruem you have bought minus the fees. now you are ready to buy coins from that ico. you can now go to their website and buy as much token as you wish and then your done. but if the ico is on the waves platform, then you will have to create a waves wallet and do the same steps as ethereum. although some accept both bitcoins, ethereum and waves as payments. but sometimes, others have their own wallets. if this is the case, then you will have to download their wallet(s) before buying their coins. of course in this case they will surely accept various currencies for payment.
hope this helps you in any way. good luck on your investments and good day