We have tried to implement your suggestion without any success.
Here is another approach, may be simpler
http://www.springfuse.com/2011/12/15/skip-jsf-validation-depending-on-action.html
It would be a real plus to provide this natively in JSF. An attribute on commandButton such as skipValidationFor="xxx" where xxx could be '@all' or a list of ids, would be so convenient.
With all my respect, I think it is not up to the framework to prevent certain usage. In the end, people either choose another framework or loose some precious time elaborating workarounds.
Sincerely,
Nicolas.