Here's a solution that doesn't require elliptical orbits, super fast planets or unusual stellar bodies for the sun. Giant dust cloud.
How giant you ask? Imagine that during the formation of the solar system something went horribly wrong and instead of Mercury and Venus forming as is, they instead tried to form one planet but ended up breaking apart in to dust cloud orbiting the Sun.
Spread out enough to not clump under gravity but dense enough to cause a noticeable drop in solar radiation when it's between the Earth and the Sun. Maybe something similar in density to Saturn's rings but spread over a wider area? Place it at a bit of an angle from the Earth's orbital plane so that the ring can be consistent density all the way round but still produce a variable masking.
Might require fudging the numbers a little to get a reasonable set of values, but it's not the most ridiculous stellar formation I've ever heard of. I suspect the main hurdle would turn out to be solar wind and flares disrupting the structure, but maybe there's a way round that with composition hacks?
Plus, how bad ass would that look :p