Is this game solvable?
I haven't thought it carefully, but I think You can use dynamic programming. If we have n cards in first deck and m cards in second deck, then there is n*m possible states of stack.  

Best_Move(i,j)  
    return Max(Stack1[i]-Best_Move(i-1,j),Stack2[j]-Best_Move(i,j-1))


You just have to remember all partial results, so they won't be calculated twice. This should give You the bes strategy in O(n*m).