I Think quick action will work fine in your scenario. You can pre-populate values according to your condition in your quick action. Use if condition and use user object to get field values of User in insert field option in builder.
Quick actions enable users to do more in Salesforce and in the
Salesforce mobile app. With custom quick actions, you can make your
users’ navigation and workflow as smooth as possible by giving them
convenient access to information that’s most important. For example,
you can let users create or update records and log calls directly in
their Chatter feed or from their mobile device.
Create action of type Create a record and add it your list view as list view allow to add action of type create a record in Salesforce Lightning Experience.
Set Predefined Field Values for Quick Action Fields
When you create actions, use predefined field values to set a value
for a field. Predefined values can help ensure consistency and make it
faster and easier for users to create records.
Steps:-
- Click the name of an action in the Buttons, Links, and Actions list
or the Global Actions list.
- On the action detail page, click New in the Predefined Field Values
list.
- Select the field you want to predefine a value for.
- Specify the value for the field.For single-select picklists, you can specify both a specific value and a formula value. If you set both, the formula value takes precedence over the specific value.
- Click Save.
Reference:- Set Predefined Field Values for Quick Action Fields
Update:- A sample to prepopulate user lookup values in action :-
IF($User.ProfileId= '00e0o0000038eoC', $User.Id , null )

It will fetch the values from current logged in user.