The mountains look great. It's cool to have 2-4 large tiles that can be repeated in any order (or maybe 1 big and a couple of half-sized ones) so that they're not blatantly looping in the background. Then you can just about afford the memory to pre-shift them in their entirety. What you would need though is for the furthest right and left 8 pixels of each tile to match up so that they still tile when pre-shifted.
A long time ago I tried to write a shoot-em-up with UDG-based sprites, accelerated a bit with machine code. I've long since lost it as it would have been on tape or wafadrive.
Anyway, I designed some similar looking sprites to those (inspired by C64 stuff like IO and DELTA where ships are always flipping over) but using 3x3 characters. This let me use the paper colour to set a coloured orb in the centre of the sprite about which the outer part rotates. I'd use white ink with e.g. red paper in the centre cell, then there'd be three pixels in an 'L' shape set in each corner, then four white pixels alongside it in the adjacent character cells. It looked like a red ball with a 1-pixel white outline, which was pretty neat. Then the rest of the sprite was animated around that.