You're a flippin' genius! Don't know why I didn't think of that. Here's what I (read: you) came up with (and it works reasonably well):
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="100" Width="*" />
<ColumnDefinition Width="0.01*" />
<ColumnDefinition MaxWidth="100" Width="*" />
<ColumnDefinition Width="0.01*" />
<ColumnDefinition MaxWidth="100" Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0">b1</Button>
<Button Grid.Column="2">b2</Button>
<Button Grid.Column="4">b3</Button>
</Grid>
I had to set the width of the other columns to some small proportion because "Auto" was causing the grid to collapse those columns and a value of "1*" was causing the buttons to shrink prematurely. Thanks again, great idea!