If using 'now' or 'block.timestamp' is considering security risks (miner manipulation) how should I go about current timestamp in my code? Isn't it safe to use either of the two as long as it is not used for randomness?
As long as you are not basing some critical/time-sensitive logic on block.timestamp you should be ok.
For an ICO that adjusts the bonuses on different timestamps, it shouldn't be a problem. The worst case scenario would be someone investing a few hours after some deadline getting the bonus of the previous tier.
Using now / block.timestamp is a concern when the logic is based on perfectly timing an action.