Não seria mais interessante fazer assim ?
var query = from f in context.Faixas
where
(string.IsNullOrEmpty(nomeArtista) || f.Album.Artista.Nome.Contains(nomeArtista)) &&
(string.IsNullOrEmpty(buscaAlbum) || f.Album.Titulo.Contains(buscaAlbum))
orderby f.Album.Titulo descending, f.Nome descending
select f;
do que fazer um operador ternário e retornar true para atender a condição de vazio