Let me just begin by saying that I don't know chemistry. But I think I read somewhere at some point that hydrogen peroxide can be used. I've actually tried it. Bubbles form around the coin. After a few hours the green stuff changes. Sometimes it flakes off, sometimes it changes color. It becomes sort of dark, maybe even black, but sometimes it is lighter. If you then soak it in oil, these new rust cuds can be flaked off with a toothpick.
I've experimented on a few coins. I am not in awe of the results, but I liked it better than just oil, or boiling in soda (which I tried once and will not do again).
Peroxide does not seem to affect the patina, but oil might. Also, I ended up buying a 30% solution. The 3% solution that you can get at your pharmacy was not always enough.