Ads are totally not relevant to my site's content, I think some keywords I chose caused this so I am going to make some changes. How often does the adsense bot crawl and will it pick up on the new keywords?
every time when page is uploaded by user, adsense scans you page and shows relevant ads based on your content. So, just change your content and that's it
what niche is it? sometimes there are no ads for a particular niche/keywords. does your site have sufficient content?
Well once you have Adsense code, Adsense Bot always there when you update any post or visit page that wasn't visited on that day! If your content is duplicate or fresh then you will not get relevant ads! And if your content is not unique then you might not relevant ads! So put quality content on it!
Try to read all site content. Their must be some meta tag,tag that create the misleading ads. Try to reoptimize your site content.
If your ads are not relevant you can use the Adsense section targeting tags. You can read about it here https://www.google.com/adsense/support/bin/answer.py?hl=en&answer=23168