I have only gotten ????? through cloning. I haven't seen a lot of information about them and had to mostly experiment on my physical copy of Silver, which was risky, but I obtained one.
Essentially what I did is take one of my Pokemon, I randomly decided to use Gyarados but it doesn't really matter, just remember that the output if done correctly will have the front sprite of that Pokemon you utilized for cloning. After taking my Gyarados into the party, I tend to switch to a clear box.
The game will remember if a box has been filled, and I haven't gotten it to work with a full box. The probability seems highest from around 16 Pokemon to 18 Pokemon in the box at the time of your cloning. I am sure it will work at other times, but this is just when it seems to appear for me. After this, you perform the cloning glitch as usual.
The timing must be early, sometime between when the text box is cleared and SAVI.
Somewhere right around here.
Most of the clones will be perfect copies, but the one you are looking for should be part Steel along with glitchy letters and symbols. It should be the opposite gender of your original copy, and be level 0. Some of the other data such as the name may or may not remain, but the level is the main thing that will tell you if it is a bad clone. It is a hybrid of the original copy and a ?????. Depositing and removing it from the daycare will stabilize it to a full ?????.
Depositing multiple Pokemon will not increase your chances of obtaining one, but just give you more if you do get one.
This is all of my knowledge of the subject, sorry I am not very good with the technical stuff.