This is what I ended up with which only does a single check now, but I think it's an improvement:
100 ' Setup Inks and Screen Mode
110 INK 0,0
120 INK 1,26
130 INK 2,20
140 INK 3,18
150 BORDER 11
160 PAPER 0
170 PEN 1
180 MODE 1
200 ' Define Characters & Objects
210 DEFINT a-z
220 s$=CHR$(143)
230 a$="@"
240 b$="-"
250 x=1
260 y=1
270 DIM bx(2)
280 DIM by(2)
290 b=1
300 t=0
310 sc=0
320 ay=1+INT(RND*23)
330 ax=37
340 GOSUB 810 ' Print Ship
350 GOSUB 1010 ' Print Alien
360 LOCATE 1,25
370 PRINT"Score:"
400 ' Main Loop
410 WHILE 1
420 IF INKEY(1)<>-1 AND x<30 THEN GOSUB 910:x=x+1:GOSUB 810
430 IF INKEY(8)<>-1 AND x>1 THEN GOSUB 910:x=x-1:GOSUB 810
440 IF INKEY(0)<>-1 AND y>1 THEN GOSUB 910:y=y-1:GOSUB 810
450 IF INKEY(2)<>-1 AND y<24 THEN GOSUB 910:y=y+1:GOSUB 810
460 GOSUB 710
470 GOSUB 1140 : GOSUB 1010 ' Delete & Reprint Alien
475 GOSUB 610
480 IF INKEY(47)<>-1 AND t<>2 THEN t=t+1:bx(t)=x+1:by(t)=y
490 IF t<>0 THEN GOSUB 1210
500 WEND
600 ' Has bullet or alien collided?
610 IF by(1)<>ay THEN IF by(2)<>ay THEN GOSUB 1210:RETURN:ELSE GOSUB 611:RETURN
611 FOR n1=1 TO t
612 IF bx(n1)=ax THEN GOSUB 1410
613 IF bx(n1)+1=ax THEN LOCATE bx(n1),by(n1):PRINT" ";:bx(n1)=bx(n1)+1:LOCATE bx(n1),by(n1):PRINT b$;:GOSUB 1410
614 NEXT n1
620 RETURN
700 ' Has Alien Collided with Ship?
710 IF (x=ax) AND (y=ay) THEN GOSUB 1410:LOCATE 15,12:PRINT"You're Dead!":END
720 RETURN
800 ' Display Ship
810 LOCATE x,y
820 PEN 1
830 PRINT s$;
840 RETURN
900 ' Delete Ship
910 LOCATE x,y
920 PRINT" ";
930 RETURN
1000 ' Display and Move Alien
1010 LOCATE ax,ay
1020 PEN 2
1030 PRINT a$;
1040 ax=ax-1
1050 GOSUB 710
1060 WHILE ax=0
1070 LOCATE 1,ay
1080 PRINT" ";
1090 ax=37
1100 ay=1+INT(RND*23)
1110 WEND
1120 ' GOSUB 610
1130 RETURN
1140 LOCATE ax+1,ay
1150 PRINT" ";
1160 RETURN
1200 ' Routine to Move Shots Fired
1210 FOR n=b TO t
1220 LOCATE bx(n),by(n)
1230 PRINT" ";
1240 PEN 3
1250 bx(n)=bx(n)+1
1260 LOCATE bx(n),by(n)
1270 PRINT b$;
1280 IF bx(n)=38 THEN LOCATE 38,by(n):PRINT" ";:b=b+1
1290 NEXT n
1300 IF bx(n-1)=38 AND b=3 THEN GOSUB 1590
1310 ' GOSUB 610
1320 RETURN
1400 ' Death Sequence for Alien or Ship should they Collide
1410 LOCATE ax,ay
1420 PRINT" ";CHR$(238);
1430 sc=sc+20
1440 LOCATE 8,25
1450 PRINT sc;
1460 ax=39
1470 ay=1+INT(RND*23)
1480 FOR v=15 TO 0 STEP -1
1490 BORDER 6
1500 SOUND 1,0,3,v,,,31
1510 BORDER 11
1520 SOUND 2,1000,3,v,,,31
1530 NEXT v
1540 FOR c=1 TO t
1550 LOCATE bx(c),by(c)
1560 PRINT" ";
1570 bx(c)=0:by(c)=0
1580 NEXT c
1590 b=1:t=0
1600 RETURN