need to replace the blank value as 0
There is no magic; if you have 8 columns to output then you'll need to have 8 expressions to change the output in any way. (Have you considered normalization?)

A slightly less verbose approach would be:

SELECT 
  Hail_N = COALESCE(NULLIF(hail_n, ''),'0'),
  Hail_S = COALESCE(NULLIF(hail_s, ''),'0'),
  ...
FROM dbo.vw_hail_wind_directions; -- always use schema prefix and statement terminators