On the thought of a knock-out tournament, whilst that might increase the intensity of the games it would ensure the losers in the first round just one game in the competition, which I don't think is particularly worthwhile.
On the other hand, long drawn out groups can produce meaningless games where team are already out of a competition but must play further games to satisfy the schedule.
I thought the 2007 World Cup had got this right at first - an initial round to get rid of the minnows, they were guaranteed 3 games before they went home. Then the best teams progressed to a further round.
I do think good cricket under any format can produce a successful WC, much of the problems were down to poor hosting.
Perhaps an initial round of two groups - say Group A of Bangladesh, Scotland, Canada and Netherlands and Group B of Kenya, Zimbabwe, Ireland, Bermuda.
Thats 6 games per group so 12 games for two groups. There could be 2 games per day, so the first round would take roughly a week. The winners of each group would play the runners up of each group and the two winners would enter the Second Round.
The Second Round would feature the top 8 ICC ranked ODI teams plus two qualifiers. The ten teams split into two groups of 5, top 2 qualify for semis then a final.
The Associate nations would get plenty of games under their belt in front of a worldwide audience, and they could actually win WC games, rather than get tonked in them all. They would achieve qualification, rather than play the bigger teams through default, which is what they basically do now.
All the games would have considerable weighting too.