New Contacts and Profiles - Is there a way to update the source field?
One option is very similar to this question/answer.

Add contacts created by the profile to a group and use CiviRules to populate the source field when the contact is added to the group - it's not "clean" and honestly a PR/extension to allow profiles to set any field using tokens (including a token for "profile name".) would probably be a better long-term solution.

Alternatively a PR to CiviRules to directly support profiles.