I understand that marketing channels are assigned at the hit level and you can therefore have multiple channels assigned to a single visit. My questions is, is there a way around that? All I want is the marketing channel that originated the the visit to be assigned to the visit and not be overwritten. Basically, every visit should have one marketing channel even if it is 'undefined'.
Is this possible? Will changing the selection to "Override Last-Touch Channel" have any impact (already de-selected for direct and internal)?
Although I wouldn't recommend this approach - if you are convinced its the right path for your organization, you can definitely achieve this by adding a 'Is First Page of Visit' condition. You will need to use "all of the following are true" as the upper level logic. Which means if you are using 'any' today because you have multiple acceptance criteria you will need to break them out into separate steps in the waterfall.
As per your requirement, Marketing channel reports might not work. If you are capturing tracking code for your channels like affiliate, Paid, natural, Email etc. and you tracking code expiration is Visit. Than you can classify those values into marketing channel and will give you the results you are lookin for.