Add remove_from_default_na options to read_csv, read_excel...
- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

https://github.com/pandas-dev/pandas/issues/52493
As already known, pd.read_csv(io.StringIO("a\nNone")).a[0] is 'None' on pandas 1 but NaN on pandas 2.

Pandas uses NaN to represent missing values, but "None" often means 'No options satisfy the condition' in real data.
Even though this is an unintentional breaking change, this bug is considered to be too late to be fixed now.

I was trying to update libraries we use and bumped into this problem.
So, I suggest to add a parameter 'remove_from_default_na' 

`read_excel(path, remove_from_default_na="None")
`

which is also a straightforward solution to the issue below.
https://github.com/pandas-dev/pandas/issues/19156

Without this parameter, the workaround would be something like

> from pandas._libs.parsers import STR_NA_VALUES
> read_excel(path, na_values=STR_NA_VALUES-set(["None"]), keep_default_na=False)

Thank you for the great library.
Thanks for the pull request, but it looks like this new feature breaks a lot of checks, and we require a discussion and buy-in from core devs before moving forward with a pull request. I would suggest providing more context in one of your linked issues before moving forward here so closing for now.