I have a fish that I've been playing heads-up in a private unraked game on one of the poker apps at 200NL. He only has a live background and lacks a grasp of most poker fundamentals. However, he's been giving me some trouble with his very aggro and non-traditional style of play. I've played about 300k hands of 6max NL online and been a winner up to 200NL with a lot of solver work, but have never studied heads-up.
Anyways, we play 200NL with a 150BB buy-in. The fish uses a BB preflop strategy against my 2.5x open of 3bet 75%/call 15%/fold 10%. He 3bets to 7.5BB always, and only folds to 4bet ~15% of the time. He'll 3bet random trash like K4o, 96o, etc and still call almost every 4bet. Postflop, he plays very sticky and passive, very rarely folding to flop bets and almost never check/raising.
When I limp or 2x the button, he raises to 5BB with a similar frequency.
My question is, what should my preflop strategy be on the button? Right now I'm opening 85% of hands on the button and am continuing with 43% of all hands vs. 3bet. I've built my ranges to meet minimum defense frequency vs. his 3bets, but the problem is I still feel like a lot of the bottom opening hands might not be profitable for me to raise on the button b/c I'm raise/folding preflop with such a high frequency. I definitely have a postflop edge, but when these raise/fold hands are losing me 2.5BB 70% of the time that I play them, I might be better off only only raising hands that will continue against 3bet.
I've also made the adjustment of almost never 4bet bluffing, and widening my 4bet range for value greatly since he's calling so wide. However, I still want to leave some strong hands in the call 3bet range.
Do people have any other advice on how I should construct my preflop button strategy? I'll post the ranges that I'm using right now below, and would appreciate any advice.