Like, you've already got a requirement in the US that everyone attend (public or private or home) school until they're ~16, right? So, what's wrong with requiring a civics curriculum as part of that, and then tying voting rights to a test of that civics curriculum? If people aren't passing, then they'd be temporarily disenfranchised, yes, but that'd be the government's fault/failing, not their own—and it would be up to the government to hunt them down and keep educating them until they do pass. Dragging people back (with compensation for their time) to get them qualified. Sort of like... jury duty.
Admittedly, that sounds a bit dystopian. Don't imagine cops showing up at your doorstep; just imagine it like an unpaid parking ticket. Can't get your driver's license renewed until you re-take the course; get frequent calls hounding you; etc.
On the other hand, we as a society have decided that citizens have a right to participate in our government through this selection mechanism. It thus needs to have a lower barrier of entry (over N age) and a higher barrier of exclusion (committed a felony).
But I'm not really suggesting exclusion. I'm more suggesting a sort of... hold? A delay. Because, under this model, you will inevitably be able to vote; it'll just take time.
For example. Imagine attempting to register to vote, one day before the polls open, and finding yourself redirected to attending a two-week full-time paid-attendance civics course (that you can't get out of, just like you can't get out of jury duty; but that your employer legally can't fault you for attending, just like they legally can't fault you for attending jury duty.)
Now imagine you pass the course. The polling date went by while you were still in the course. But you still get to vote! Two weeks late! And the votes aren't actually counted, until the people who were delayed by the government's failure to educate them, get to vote.
Of course, that's a silly implementation; it's easier to just open and close registration two weeks earlier, such that you can't register on a date such that that date + 2wks would overlap the polling day. But I think it gets the point across the best: you're not punishing these people. You're sequestering them, like a hung jury—and you're not letting the mechanism of democracy move forward until you have heard their very important voices.