User hexomino already figured out the puzzle, and managed to actually find the very complicated path that was exactly how I came up with the game. To recap:
You can interpret the game position as a binary number (marbles are ones, empty bowls are zeroes). If you do, then every possible move gets exactly mapped, one-to-one, to every possible (binary) subtraction of a non-negative power of two. This reduces the puzzle to another game we have already solved, so we are done.
The game itself is a lot easier to play than that, though, so I'm posting this self-answer to show how.
First, it's very useful to note that in a given board position, every move is uniquely defined by the highest numbered bowl it affects. So instead of saying Take a marble from 2 and add a marble to bowls 3-7 each
, we can just say play at 7
, and there's going to be exactly one way to do that. Not only is this a nice shorthand way to mark down moves, turns out it's quite crucial in solving the entire puzzle. Below, all moves are given using this notation.
(Now that we've established the notation, you may want to take a peek at the final spoiler block to see the surprisingly simple final conclusion.)
The other, more significant part of the solution is
The balance of marbles in odd and even numbered bowls. Let's call that balance $\Delta$ (Delta). To calculate $\Delta$, simply count the marbles in odd-numbered bowls and subtract the number of marbles in even-numbered bowls.
To see why $\Delta$ so important, let's take a look at how the possible moves affect it:
A play on an odd-numbered bowl with a marble in it removes one odd bowl from the count, so $\Delta$ decreases by one.
A play on an odd-numbered empty bowl, with a marble in the preceding bowl adds one odd bowl, and removes an even bowl, so $\Delta$ increases by two.
A play on an even-numbered bowl with a marble in it removes one even bowl from the count, so $\Delta$ increases by one.
A play on an even-numbered empty bowl, with a marble in the preceding bowl adds one even bowl, and removes an odd bowl, so $\Delta$ decreases by two.
A play on any empty bowl with more empty bowls before it will be equivalent to one of the cases above: if a move affects two adjacent empty bowls, they will cancel each other out, and the remaining highest numbered bowl will have the same parity as the originally played bowl.
Pondering this for a while, we can find these helpful facts:
If we divide $\Delta$ by 3, the remainder will always
* increase by 1, if we play on an odd-numbered bowl.
* decrease by 1, if we play on an even-numbered bowl.
Since we know that the final, winning move leaves a $\Delta$ of exactly zero, and we know that any move either adds one to the remainder $\Delta$ (mod 3), or removes one from it, we can deduce that
* If $\Delta$ is divisible by three, there are no moves that leave $\Delta$ divisible by three, so
* There are no winning moves from a position where $\Delta$ is divisible by three, and
* If $\Delta$ is not divisible by three, there is always a move that leaves a $\Delta$ divisible by three for the opponent.
This gives the winning strategy:
Always play a move that makes $\Delta$ divisible by three.
Using this, we can judge the starting position:
There's one marble in an odd bowl, and one in an even bowl, so $\Delta$ is zero, and it's impossible to play a winning move, so the position is losing.
Therefore, the way to win is to
let the opponent start. Then, whenever the opponent plays on an even-numbered bowl, respond with an odd-numbered bowl (the smallest possible one, if you want the fastest win), and vice versa.
Note that this is exactly the same strategy that @hexomino gives, but instead of doing binary subtraction, decimal conversion and remainder calculations, we are doing the same calculations all in marble binary, which turns out to be quite a lot easier.