Clasificación (orden alfabético) para ignorar celdas vacías: tablas de datos

Entonces la pregunta ya ha sido formuladaaquí, pero la solución no funciona para mí (podría hacer algo mal). Quiero ordenar mis tablas por orden alfabético ("tipo": "natural"), pero quiero que las celdas vacías estén en la parte inferior (para desc y asc).

Probé la solución anterior dada por fbas:

jQuery.fn.dataTableExt.oSort['mystring-asc'] = function(x,y) {
    var retVal;
    x = $.trim(x);
    y = $.trim(y);

    if (x==y) retVal= 0;
    else if (x == "" || x == " ") retVal=  1;
    else if (y == "" || y == " ") retVal=  -1;
    else if (x > y) retVal=  1;
    else retVal = -1;  // <- this was missing in version 1

    return retVal;
}
jQuery.fn.dataTableExt.oSort['mystring-desc'] = function(y,x) {
    var retVal;
    x = $.trim(x);
    y = $.trim(y);

    if (x==y) retVal= 0; 
    else if (x == "" || x == "&nbsp;") retVal=  -1;
    else if (y == "" || y == "&nbsp;") retVal=  1;
    else if (x > y) retVal=  1;
    else retVal = -1; // <- this was missing in version 1

    return retVal;
 }

Con :

$(document).ready(function() {
    $('#classement').dataTable({
    "aoColumns": [
        null,
        null,
        { "type" : "mystring" },
        { "type" : "mystring" },
        null
    ]
    } );
} );

Con una mesa como| N° | Edit | Song | Singer | Url | Ordenando solo en Song y Singer.

Las celdas emty están en la parte inferior (como se esperaba) pero ahora la ordenación no tiene lógica (sin orden alfabético, ¿debería usar otra propiedad en dataTable?).

¿Alguien tiene una solución?

Editar: Si agregamos una línea dinámicamente, ¿cómo actualizar la ordenación?

$("#example").find('tbody')
    .append($('<tr>')
        .append($('<td>')
                .text('Boro')
            )     
    );

JsFiddle (use el de isim)

Respuestas a la pregunta(2)

Su respuesta a la pregunta