Hi mmenzie,
When using a function such as userName() to display the submitter, set a condition to the rule that populates the submitter field to only run if the submitter field is blank. This condition will prevent the field from being re-populated. Please check submit button rule on the sample form I am attaching for your reference. Hope this helps.