Currently, the rules of the penalty kick states that:
L1025: (The ball) is placed at the position where the offense occurred if a penalty kick is taken during the normal course of play
It means that penalty kicks can occur at less than 20 cm from the goal which does not make any sense practically.
I would prefer to place the ball on the penalty mark and to add that no robots except the goalie is allowed to stand between the penalty mark and the ball.
One of the issue with this kind of penalty is the fact that the penalty mark is quite far from the goal, therefore kicking a penalty is not an advantage as strong as in real soccer. However... I think that the main reason of this problem is the fact that the penalty mark is way too far from the goal. It is currently at 2.1m from the goal which is 23% of the field length, while in usual soccer, distance between penalty mark and goal is 11m from the goal which is around 10% of the field.
Therefore, I would propose to bring the penalty mark closer to the goal, maybe at something like 1.5m which would still be 17% of field length for kid/teen and 11% of field length for adult size. The main reason for keeping it higher than the normal ratio is to avoid having it too close to the goal area which is larger than expected.
EDIT: The idea was implemented for RoboCup 2019 with some changes.