Is there anyway to tell Google: "Ignore this div of content but use the rest"?
As covered in a post here, there are two potential ways get Google to ignore part of a page included in other pages:
could load up the content you want hidden/ignored/discounted in JS.
The problem is - Google "may" still understand it/read it/reference
it. The only really safe way is to include the content in an external
JS file, and block that file in robots.txt. (Alternatively - you could
use the x-ref header of NoIndex for .JS files etc.) Otherwise - if you
have the JS in your file, as inline/embedded content - it may still be
used (unlikely, but possible).
You could place the content you want hidden/ignored/discounted
in a separate file. You set the robot-meta for that file as NoIndex
(or you could block it with robots.txt or use the x-ref header of
NoIndex). You then load that content into your page using a Frame.
Google will crawl your page, see the frame, look to the framed file -
see it is blocked (noindex/disallowed), and not touch it.
Of the two choices, I would suggest using an iFrame to a separate source file containing the duplicate content, and then block this source file from being indexed as covered above.
I am thinking of explaining to my client the situation of duplicate content and not adding it unless I can do it without any SEO penalties.
They're likely wouldn't be any "penalties" - if Google finds duplicate content on the same site, it will make a decision as to which page to index, as covered here in Google Webmaster Tools - Duplicate Content:
Google tries hard to index and show pages with distinct information.
This filtering means, for instance, that if your site has a "regular"
and "printer" version of each article, and neither of these is blocked
with a noindex meta tag, we'll choose one of them to list.
If you're concerned with getting both pages indexed, then the above might help. If you're not worried about Google choosing which page to index, then there's not as much reason to be concerned.