Then allow them to write reviews like normal, but the review would actually be visible only for them in their trial period.
The user would see the review, others wouldn't, and after 1 or 2 weeks when the user activity confirms the user is not a bot, make the review visible for everyone.
Have you thought about what that looks like from the user's perspective? You'd just as likely turn them away for life with such an unpleasant experience.
They intended to post a review. Not posting it but saying you did is straight up lying. Shadowbanning is morally dubious as a rarely used tool. It's pure evil as a default.
Do you not care about lying to them just because they are "average"?
Their review is only hidden for a while to make sure it's real. The current situation is dismal, it has to be fixed somehow. There is no perfect solution, because the completely open approach is abused by spammers.
It may not be the best solution, every solution has drawbacks, but do you have an idea for a better solution to filter out fake reviews? If so, please present it.
What if the user only has one review to write, warning others of their terrible experience? What if they don't necessarily write reviews in the future? I know I only write bad reviews, because I was annoyed enough at the situation to document it. You always hear negativity first on the internet, then praise..