There is a way for the pools of 4 and 3 to play the same number of games. Teams within the 2 pools of 4 could play other teams within their own pool - 3 games. Teams from one pool of 3 could play the 3 teams from the other pool, leading to 3 games. Do teams absolutely have to play nations within their pool? Perhaps not, as long as the structure of games is consistent and fair compared to that of other teams both within their individual pool, and within their type of pool. If we take Bowes' example (slightly modified) as a possible structure:
Bowes said:
Pool 1 - England, Australia, Ireland, Tonga
Pool 2 - Wales, New Zealand, Fiji, Papua New Guinea
Pool 3 - Scotland, Samoa, USA
Pool 4 - France, Cook Islands, Lebanon
A team from pool 1 (e.g. England) plays 3 games within Pool 1 (Aus, Ireland, Tonga). Similarly a team from pool 2 (e.g. Wales) could play 3 games within Pool 2 (NZ, Fiji, PNG).
However, a team from pool 3 (e.g Scotland) (Pool 3) could plays games against all 3 Pool 4 teams (i.e. France, Cooks, Lebanon). Similarly a team from Pool 4 (e.g. France) could play 3 games against Pool 3 teams (Scotland, Samoa, USA).
If there are QFs, there is a way to balance the desire to increase their competitiveness yet reward good performance. The top 2 teams from the 4 team pools could automatically be advanced to the QFs, and the first placed teams from the 3 team pools would go. However guaranteeing QF spots to the 3rd placed teams in the 4 team pools, or the 2nd placed teams in 3 team pools could undermine the competitiveness. So maybe the last two spots could be given the next best placed teams on points and F/A. That might mean allow a mix, e.g. 3rd placed in Pool 1, and 2nd placed in pool 4.