Someone had posted a link to a talk Ophir, the founder of CMLViz, had given discussing one of the scan's on their platform. In it he described a strategy of using Diagonals to play earnings. The methodology seemed sound to me and while I couldn't exactly perform the scan he did in CMLViz I was able to approximate it in ToS.
The strategy and thinking behind it is thus:

Prior to earnings stock tend to rally to some degree.

The earnings date itself "slows' the rate of theta decay for the options complex expiring the week of earnings due to it being a binary event.
Using these two pieces of data you construct a long diagonal for a debit with the following criteria.
 Place the trade 14 days out from earnings
 Open the diagonal with a short 30 delta OOTM call that expires in 7 days
 Long the at the money or 1 strike in the money delta that expires the week of earnings.
 At expiration of the short call (~7 days), close the diagonal.
Now in looking back on this there's actually some refinement to the strategy in that, you can look at an average % rise from Earnings minus 14 days (E14) to earnings minus 7 days (E7) when you would close trade out approximately.
Knowing the avg % increase in the stock price gives you a better idea of whether you should take the diagonal off prior to the short call's expiration if you have met or exceeded the avg % move.
The reason being is that you may get the average % increase within the first few days of the short option expiring and if the stock moves back down your diagonal may actually be a loser, the converse is also obviously true, the stock may blow past your avg % increase in which case you may leave some on the table. You can choose to play the strategy however you wish, but I'm usually in favor of having more information.
Below is a screenshot of the indicator. There are two components. In the upper left are 5 boxes Labeled as following with an explanation
 Total # of Earnings: This is selfexplanatory but just counts the number of earnings the time period being shown on the chart
 Total # of Working Diagonals: This counts the number of times that the stock price on E7 (7 days from earnings) is higher than the stock price at E14 (14 days prior to earnings when the trade was placed).
 Percent Successful: This is simply Box 2 divided by Box 1 shown as a %
 Avg % Change for Working Diagonals: This calculates the Max % change between E14 and all the bars to E7 for the Earnings diagonals that worked and simply takes the average.
The labels appear on each earnings date and can be turned off via the settings for the indicator while still keeping the boxes up top.
Here is a 5 year daily chart for MSFT by way of example.
Here you can see that for a total of 20 earnings cycles 15 of them would have produced a winner or 75% of the time MSFT rose from E14 to E7, and on average it rose 4.3%.
Some caveats about the indicator. All values are calculated on the closing bar and if you change from a daily to weekly timeframe it will not be accurate
The code was cobbled together in my offtime in the whee hours of baby feeding duty so it's not pretty.
To Do/Improve:
The Max % changes are a simply averaged but a weighted one would likely be better and/or taking the median or throwing out an extreme value.
Combining this indicator into the scan I have setup. Right now I merely scan for liquid optionable stocks that have earnings < 20 days out and > 7 days so as to create a small watch list.
I should add to that a filter for those with weekly options as this strategy really relies on weeklies as well as a filter based on the % successful so that if the value isn't above some threshold (say 65%) they are filtered out. However I am not sure it will work as it's based on the period of your chart and I don't think the scanner can be changed from a 1 year daily timeframe.
Here is a link to the Indicator via ToS's share functionality.
Looks like this will pair nicely with Slope's percent change feature.
The only additional thing I can think of is knowing what the average loss would be (and/or the net % over the time period). In your example provided, a 75% win at 4.3% gain would be 75 * 4.3 = 322.5%. So the 25% of losers needs to be below 322.5 / 25 = 12.9% avg in order to be profitable in the long run. Does that sound right?
Looks like this will pair nicely with Slope's percent change feature.
The only additional thing I can think of is knowing what the average loss would be (and/or the net % over the time period). In your example provided, a 75% win at 4.3% gain would be 75 * 4.3 = 322.5%. So the 25% of losers needs to be below 322.5 / 25 = 12.9% avg in order to be profitable in the long run. Does that sound right?
You could approximate it if you had options pricing data and used the closing price of the 30 delta and atm options to get the debit paid, and then you would need to assume you held to a specific date (the close of the expiry date of the short call). You could then take the closing price of the diagonal and extrapolate a $/contract gain/loss.
This is exactly what CMLViz does as they have that data in a database that can be queried using a set of parameters and really what you are getting for paying them for the analysis.
I believe their profit analysis assumes you hold the diagonal until close of the short call's expiry so they can actually calculate your profit otherwise when you close it is a function of the day that the stock hit's the average % gain and isn't really something you can carry forward.
Realistically if you employing the strategy it's probably best to actually be consistent and take the diagonal off at the same time, however I wanted to provide an extra datapoint as I have employed this strategy before to only see my diagonal go to say 50% of it's max potential profit and then actually give it all back and go negative within a few days.
Knowing that the stock has moved up it's average % preearnings but there's still days left in the diagonal lets you make an educated decision on staying in the trade or exiting is all.
Knowing that the stock has moved up it's average % preearnings but there's still days left in the diagonal lets you make an educated decision on staying in the trade or exiting is all.
I'll take any extra edge I can get. Much appreciated.