With conditional number formatting you can skip displaying "0h" and "0mn":
[<0.000694][ss]"s";[<0.04166][m]"m" ss"s";[h]"h" mm"m" ss"s"
This will display 2m 35s and 59s instead of 0m 59s.
Do keep in mind that in Excel, 1 = 1 day, so 1 hour is 1/24, 1 minute is 1/(24*60) and 1 second is 1/(24*3600).