If your G28 position (X Y Z) is such that the predefined Z position is where you want to go then use this line:
G91 G28 Z0
which will move the Z axis only to its predefined position. By specifying only the Z axes in the G28 command, only the Z axes will move instead of all of them. The Z0 tells it to move to Z0 first, but since ythe line also includes G91 it just takes off for the predefined position defined by G28.1. Same is true for G30/G30.1
Many times though I just use G53. My z upper limit is my machine Z=0, so just programming a line in machine coordinates (G53) does the same thing. Like this:
G53 G0 Z0
Since G53 is non-modal the next line goes back to what ever work coordinate system you were using immediately before (G54, G55, G56...)