If CFR is a bad idea for whatever reason, fine, veto it. Just don't veto it because you think you know it is "unconstitutional."
Say, for example, "In my view, this bill shuts some people out of political debate and I think that's bad, so I'm vetoing this bill." That result may or may not be achieved constitutionally, but that doesn't matter in this example. It's just the president's opinion that it is a bad bill, that the bad it effects on the campaign system outweighs the good. So you disagree with Bush's view that the good in the bill outweighs the bad. Okay. But this is not abandoning the Constitution, especially when he knew the minute he signed it, the lawsuits would be filed to get the matter resolved by the judicial branch.
The argument that the negative effects on my free speech don't offset the 'positive' improvements to campaigns is, in fact, his opinion on the bill.
If he knew the minute he signed it that the Supreme Court would strike down the 'bad' parts, he knew it was Unconstitutional. He took an oath to uphold the Constitution. That's what I pay him for.