Handling true sparse right-hand sides in sparse solvers is much more difficult than it might look, and most cases, when solving Ax=b with both A and b sparse, x is likely to be dense. It would be interesting to have some statistics on your real-world example, that is, what are the sizes of A and b, and what are their number of non-zeros?
Moreover what's the application? I mean do you really have to compute x explicitly? For instance, in hybrid sparse solvers, the Schur complement C can be defined as the solution of a sparse problem A C = B with A and B sparse, but nobody try to compute C explicitly, but instead every time we apply C to some vectors, we apply B and then use an iterative sparse solver for applying A^-1. (the actual _expression_ of the Schur complement if more complicated, but that's the idea).
cheers,
Gael