I think it looks good. It would be awkward to remove the sidebar all of a sudden just because there's no content. And 100% width for that content will get awfully hard to read. That's at least true in the Roman alphabet. Maybe not for you if you're reading top to bottom?
Anyway, one way to do it would be this:
<% if SidebarContent %>
<div id="sidebar">content here</div>
<% end_if %>
Then you'd have to write a function in your controller to determine whether SidebarContent reutrns true or false.
But again, I don't see a need to do that. I think it would look awkward.