Hi Jude,
So first of all...you guys do 3d Printing? AWESOME!
Now to your schema...someone who comes in via a trade show and ppc campaign shouldn't necessarily be a duplicate in my eyes. For example, Bob Smith comes in via a Tradeshow because I imported him from the .csv list of scans we got from the booth. His Lead Source is now Tradeshow and there is an SFDC Campaign associated to him. Tomorrow Bob comes in and fills out your Sample Part form via searching for "3D printing" (one of your PPC words). That form should update the Bob Smith Tradeshow lead with a PPC Campaign, but not create a new lead.
Now when it comes to your resellers...I understand why you'd potentially have multiple distributors working with Bob. We have a few clients exactly like this who deal with either competitive dealers/distributors OR just deal with multiple parties on one client. How we typically deal with this is a related object for Partners to be associated on a one to many relationship OR to have them associated to an opportunity OR to have multiple opportunities associated to the one record (each opportunity unique to each reseller).
Some examples of where we see the above:
1. We have one student who is associated to multiple universities (client helps place students at schools).
2. We have one prospect who is trying to build a house and has a builder, financer, and architect all associated to the prospect
3. We have an individual trying to buy a car and is looking for a rate from 2-3 dealers
Let me know if any of those are resonating and we can explore deeper.