I don't see a problem with "v2 or later". Everybody who doesn't like to use GPLv3 (when it's released) can just chose to use v2. That's perfectly legal.
Actually I don't think we have a choice.
LWN.net just ran an article on the busybox GPLv2 GPLv3 issue which has caused a fork of busybox. One of the things I see in that article is that GPLv2 only code cannot co-exist with v3 code.
We have included kernel code which is v2 only. Therefore our entire base must be v2 only.