The easiest way to guarantee an Attack in a Kingdom is to make the card itself an Attack. In which case, you could go the Minion route and have choices. So our hypothetical card becomes:
This Card 1
Cost $?
Action - Attack
Choose one: <Attack effect>; or +1 Action and <dig for Attack>.
Possibly for maximum usefulness, give it a plain vanilla bonus no matter what you do. So depending on the attack, maybe put the +1 Action up the top. But then you lose the Duration-ness of it. Alternatively,
This Card 2
Cost $?
Action - Duration - Attack
<Attack effect>
At the start of your next turn, <dig for Attack>.
Except that it has the nasty effect of letting you essentially attack every single turn once you have two of these in your deck, which severely cripples opponents in a very un-fun way. So maybe the free-play from hand isn't too bad, and then it just becomes a second-turn Village for Attacks only:
This Card 3
Cost $?
Action - Duration - Attack
<Attack effect>
At the start of your next turn, you may play an Attack card from your hand.
I think this could be reasonably balanced - you won't always have another Attack card in hand, it's still ok without other Attacks in the kingdom (depending on the attack effect), but it does get better with any half-way decent Attack. And it might be enough to incentivise buying Attack cards that otherwise aren't quite so fantastic - even something as bad as Spy becomes like a Village.