There was a similar thread posted recently on the topic of ignoring many fields or just including the one. I think your two approaches are on the right track. As you can probably guess, ignoring every field can be a bit of a headache. Here's a link to that discussion: http://community.qlik.com/forums/t/40602.aspx
As to your examples, keep in mind that Concat() can be affected by selections in other fields. You probably want GetFieldSelections() instead, which will list all selected values in the field. Concat() will give you all possible values, which can be different depending on the circumstances.
Thanks NMiller for the link to a very interesting thread.
The way I tend to deal with this is to create a number of variables with collections of ignored fields (particularly useful for date dimensions) which can then be used in set analysis.
For example setting this variable:
A typical set analysis expression then becomes:
This can be further simplified by nesting variables and having a set analysis variable:
And then the expression above can become simply:
If further dimensions need to be added to the ignore list then the change can just be made in one place and it will filter down through to all relevant expressions.
Hope that makes sense and is useful.