A few ideas of mine about improving this stream cipher:
Instead of an 8-bit S-box use a 16-bit one. And if we need a byte output, we may apply x&255, or x>>8 to the algorithm output. For key shedule we may use a Unicode string, or a transformed string to affect more bytes at S-Box.
Ulimited password length. We may call it even passphrase. Password can be longer than S-box.
Use password length in key shedule. As example we may Swap the S-Box items according to the password length - adding the length before/after actual password (a la Pascal string)
Drop first N bytes of a keystream according to a password. i.e. not just a fixed number of bytes, say 10000. But some number that will be generated according to a password - say a special hash function, defining a valid range, say, between 5000 to 100000.
Only expert answers please. No flame.