Edit in JSFiddle

$('input[type="radio"]').click(

function (e) {
    var me = $(this);
    var grp = $("input[type='radio'][name='" + me.attr('name') + "']");
    if (me.val() === me.data('last-val')) {
        me.prop('checked', false);
        grp.data('last-val', null);
    } else {
        grp.data('last-val', me.val());
    }
});
<h1>Why?</h1>

<ol>
    <li>We can ;)
        <li>Some times the alternatives are unique but can be leaved in blank.
            <li>We spent so much effort making checkboxes behave like radios, why not give a try to other aproach</ol>
<fieldset>
    <legend>Group 1</legend>
    <label class="checkbox-inline">
        <input type="radio" name='grp1' value='1' />You can select me</label>
    <label class="checkbox-inline">
        <input type="radio" name='grp1' value='2' />But you can</label>
    <label class="checkbox-inline">
        <input type="radio" name='grp1' value='3' />Change your mind either</label>
</fieldset>
<fieldset>
    <legend>Group 2</legend>
    <label class="checkbox-inline">
        <input type="radio" name='grp2' value='1' />Just give another click</label>
    <label class="checkbox-inline">
        <input type="radio" name='grp2' value='2' />But remember, for those things works fine</label>
    <label class="checkbox-inline">
        <input type="radio" name='grp2' value='3' />Values must be unique in each group</label>
</fieldset>
body {
    padding:8px
}

External resources loaded into this fiddle: