for every channel i want to control the min/max brightness and the randomness (min/max) of the fade speed on every channel indipendently.
When would you choose a new set of fade parameters for a channel?
To work with more than one channel, you need to get rid of the delay calls. Look at the Blink Without Delay example to see how to avoid the use of delay.
Then draw a flow chart, to define what happens on each pass through loop(). A flow chart has a start bubble at the top, and an end bubble at the bottom. The start and end bubbles correspond to the start and end of loop. Decide what needs to be done for each channel on each pass through loop. Some actions will depend on time. You need to keep track of when events occurred, and when the next event needs to occur (relative to the last event, not an absolute time).