Current ICO-s have the fundamental problem that the token system contains only one level. On the one hand, it has some nice characteristics from the investors perspective, like it has a finite token supply that can be sold right at the beginning and the decentralized application van make it sure that no further token will be released so the monetary supply is guaranteed in this sense. Hence, the token is usually traded in some exchanges so it is guaranteed that the liquidity on the market is high and gives the possibility for speculation as well.
On the other hand, these tokens are usually used for some decentralized services, like for buying computational power, or paying for storage. In this sense it is pretty much unpractical that the price of the token is handled indirectly as the valuation of the company or decentralized organisation. It implies that the if the decentralized organisation is evaluated high, the token of the service is high as well, that might make the service not sellable at all comparing with perhaps centralized competitors.
A solution might be to work with two stages of token systems, where the investment and speculation side of the platform is clearly distinguished from the usage price. Certainly it is an open question how such a two tokens should be "cooperated" or issued with each other.