I am afraid of private key collision... What is the solution? I know that there are a massive number of keys, but lets say that someone generate a private key that belongs to me.
I know that is nearly impossible. But I want to make that more and more impossible.

Is the Multisig Addresses is the best solution?
Because even if someone generates a private key belongs to me, he needs another private key to get my money.

Is that the best solutuon?
Bitcoin addresses are 160 bits in length. That means there is an extremely large number of possible addresses. From the Bitcoin wiki:

Generating tons of addresses
Generating an address doesn't touch the network at all. You'd only be wasting your CPU resources and disk space.
Also, a collision is highly unlikely.
Keys are 256 bit in length and are hashed in a 160 bit address.(2^160th power) Divide it by the world population and you have about 215,000,000,000,000,000,000,000,000,000,000,000,000 addresses per capita.(2.15 x 10^38)

In other words, don't worry. Even if someone deliberately targets your address for cracking, it would take them trillions of years. An accidental collision is even less likely.
Multisig isn't made to protect against private key cracking (which is impossible), but to allow the existence of addresses that must have the authorization of more than one device or person to spend from them.
Say, you have a 2-of-2 multisig address. One key is in your computer, and the other is in your smartphone. While an attacker won't ever crack even a single one of your keys, they could try infecting your device with a private key stealing trojan, or a keylogger to watch you type your wallet passphrase.
Now, it's much less likely that the attacker will successfully hack both your computer and your phone. So multisig does improve your funds' security, but not for the reason you mentioned.