NULL & Empty string have the lowest Sort Value and so come up first when sort Ascending. The first way around this is to sort Descending, but then your desired results are also in reverse order. Another option is to exclude them from the result set altogether by using a Where clause. If you definitely need all records but in your desired order, then a UNION query is your answer.
Select 1 excludes all the NULL and Empty records
UNION
Select 2 includes only the NULL and Empty records
This works because UNION concatenates the results rather than merging them so your Nulls will be at the end.
Note: any table that has numerous NULL or Empty values in certain fields should have those fields a seperate table anyway; not that this would solve your problem, just save storage.