Evaporust is a chelating compound and works very well. So does a competing product called Rust Release. I have tried both and the latter has a slightly lower pH and works faster. Neither is something you want to leave steel in too long. Figure 15 minutes or so. I've used these on red rust, and if you have any, it will get rid of it. It will, however, leave the surface slightly matte after longer exposure I think all the finish removers will if you leave things in them long enough. It's not a bad surface if you are going to rust blue it later. If you leave something in either brand long enough a black surface coating appears that has to be rubbed off. But I agree it is good for attacking any kind of iron oxide, the magnetite that constitutes bluing, included.
Another product that is quite good is
Iosso Quick Strip. It will take off bluing or Parkerizing and is pretty easy on the steel. It is designed specifically for this job. I've used it to strip Garand parts for blasting and re-Parkerizing.
I also agree with avoiding the hydrochloric acid variants. They work, but they activate the surface so there is a tendency for surface after-rust to appear, unbidden. That activation and surface etching can be uneven. The other products above are just a better, more modern chemistry for the job. If you get after-rust from any removal compound and intend to rust blue anyway, just boil the rusted part in distilled water as soon as the rust appears to convert the red rust to black magnetite. If you are going this route (and it is a good one for home restoration where getting into molten caustic salts for hot bluing is undesirable, though pitting is tough to handle with it), be sure you've read up on rust bluing and have all the steel wool degreased or the fine brush ready that you intend to use for carding. That way accidental rust can be taken advantage of promptly.
Steel white also removes rust with less adverse impact than hydrochloric acid. It goes the other route, being mostly potassium hydroxide, IIRC. Strongly alkaline. Like lye, it is a strong degreaser as well, so you should not need a degreasing compound after using it. Just a cold water rinse that lasts long enough.