I recommend concatenating the fact tables. See this blog post if you haven't already: Fact Table with Mixed Granularity
Having a product dimension duplicated several times doesn't sound like a good idea if it doesn't represent distinctly different roles.
I have a post at:
I do not create multiple Dimension tables - I just alias column names, similar to other BI tools like OBIEE, or BO. I see no need to concatenate at all.
if you do a very complex model, it is certainly because you need. If there is no need to do, avoid it. QlikView is very performant, so be sure that the "basic" first model is not the good one.
I would avoid the pre-agregated tables, especially if the computation is just a sum. One again: is your model not good enough ? Did you perform a test with the amount of data you will get (or with random data) to point out that the time response will be too long ?
Last, but not least, think about the interface. If you have two dimensions Product for example, it will be more complicated to handle that fact. The user choose the values in Product1, and you want to display the values by Product2, and all values related to Product2 (QV is an associative tool). The different expressions in the graphs/tables may be far more complicated, difficult to test etc.