In a way, calling it "grade inflation" is backwards. The problem isn't that grades are going up, the problem is that the top end of grades to distinguish is coming down. For a given skill that may be graded, assume for the sake of argument that it is evenly distributed (fairly reasonable assumption) and that the test is exactly accurate and precise (unreasonable, but makes the argument easier and doesn't materially change the result). A grade represents an assessment of the placement of the student between some bottom, represented by some standard deviation, and caps everyone below that to the minimum grade, and likewise on the top, everyone who blows out the top of the test gets lumped into one bin at the top.

It is not particularly a problem that the arbitrary meaning of A or C is wandering around. Many of use have played Japanese video games that give a grade-based rank for your performance on some level. At times I've been a bit surprised to get an A the first time I tried the level... only for me to discover that there's also S, SS, SSS, and SSS+ actually above it. This scale may feel weird for cultural reasons, but it still distinguishes various skills just fine. There are some administrative problems in converting between the various "A" grades, but that's already a problem anyhow and presumably at least mostly solve to the satisfaction of the relevant entities.

The problem is that the ability to distinguish at the top end is being erased as the top end of the tests get pulled down over time. This makes the tests less useful for their own stated purpose. If one imagines for the sake of argument a academic test whose minimum is -2 standard deviations and the top end is -1 stddev, it's not a terribly useful test. As academia goes, it's strictly a subset of the utility of a test that measures from -3 stddev to +3.

(I qualify "academic" because there's plenty of practical, non-academic uses for such a test, but in academia that's not very useful.)

There's nothing particular immoral about moving the "A" setpoint around. The problem is that with insensitive tests, we lose the ability to distinguish between someone who just barely topped out the test, and someone who is 2 stddev above it, and in academia, that's a pretty serious loss, for all kinds of reasons.

Now, the question of what you do with the grade I think is best considered separately. You start with a clear view of the true situation, and then figure out how you want to deal with it. You don't help yourself on any level by starting from a foundation of lies.

For similar reasons, I often remind my fellow developers, never lie to the database. If you want to, for example, give someone a discount on service, you don't do that by going in to the consumption database and telling it that they used only 10 GB instead of 20. You do it by making sure your billing database has a field for "special discount" and putting it there. You don't want to lie to your databases, because that number isn't just used for billing, it's used for all sorts of other things, things you don't even have a complete list of, all of them assuming the database is telling the truth, and you don't know what will break. Don't lie in the grades; tell the truth, and figure out how to deal with the truth.

You may also note as a result of this that I'm actually in a bit of disagreement with the professor. Making school harder isn't necessarily a solution to any problem; the thing that needs to be done is to re-open that top-end again. That's similar in some ways, but will be different in others.