Let's say I want to use smart contracts for huge collection of data. Since it will be distributed so downloading on every participant computers isn't this a huge problem ?
Yes. But smart use of smart contacts means you don't need to put all the data on the blockchain. You can keep the actual data offline or only shared between actual participants.
Lightning Network is a nice example of such a system.
Many other examples can be done using simply multisig and a bit of time locking if necessary. More op-codes and more flexible and more efficient scripting execution are in the works too.