If the singleton is an Ace (and an Ace only!) a lot of players will open this hand in 2NT. If it isn't an Ace, or if you very explicitly agree with your partner that 20-22 4-4-4-A is not 2NT, then just open in the lowest available 4-card and, if partner answers, jump to indicate points. If opponents start bidding, double*.
'Worst case' scenario is that everybody passes and you're playing a 1-level contract, but oftentimes partner's hand is very limited in these cases and a game-score is very improbable. You'd rather play a 1+2 then a 4-1, right?
(*) Note that opening and then doubling the opponents while Partner passed indicates a pretty strong hand on your side, and since you still have two unbid suits (or at least one if opponets are bidding one of your 4-cards) there is a good chance you will still find a fit with partner. Making this double a penalty is still an option for your partner, if he has length in opponents suit (probably your singleton).