Take a look at the original sentence again:
Richard squeezed, thumped, and shook the empty shampoo bottle, hoping for
a few drops to wash his dirty hair, since
the bottle was completely empty, Richard worked up a lather with a few sprinkles
of bathroom cleanser instead.
You chose to fix it the correct way:
Richard squeezed, thumped, and shook the empty shampoo bottle, hoping for
a few drops to wash his dirty hair; since
the bottle was completely empty, Richard worked up a lather with a few sprinkles
of bathroom cleanser instead.
Richard squeezed, thumped, and shook the empty shampoo bottle ... begins a complete sentence. Since the bottle was completely empty, Richard worked up a lather ... starts the second complete sentence. You are always correct when you use a semicolon between the two complete sentences that create the comma splice.