Your conjecture is correct. B always wins by a score of $7$ to $2$.
We first show that B will have ensured victory by the fifth move.
At the end of the game, any triangle with all one color goes to person B by a score of $3$ to $0$ and any triangle with two colors goes to A by a score of $2$ to $1$. Therefore, if B can fill any one of the triangles with one color, he wins by a score of at least $5$ to $4$.
To avoid losing within the first three moves, A must choose two of one color and one of the other. B will place the two like colors on the same triangle and the different color on another triangle. Let's say the first triangle has two green colored vertices, the second triangle one red colored vertex and the third triangle is empty. If A chooses green, B will fill in the first triangle and ensure victory. If A chooses red, triangle 1 will have two green colored vertices and triangle 2 will have two red vertices. No matter which color person A chooses, B will be able to win a complete triangle on the next move.
Continuing play, after $5$ moves triangle 1 will have all one color(green) and triangle 2 wll have two of one color(red). If A chooses green, B will place it on the third triangle. If A chooses red, B will fill in the second triangle and will have won two complete triangles. Eventually, either A chooses another red giving B triangle 2 or chooses all greens which gives B triangle 3 and A triangle 2. Therefore, B wins $7$ to $2$.
The trick is to show that:
$$(17,15,13)+a(-1,-1,2)+b(-1,2,-1)+c(2,-1,-1)$$
is never $(45,0,0), (0,45,0),$ or $(0,0,45)$ for $a,b,c$ integers.
But since $(2,-1,-1)=(-1)(-1,2,-1)+(-1)(2,-1,-1)$, you can eliminate the third term and ask to find $a,b,$ so that we only need to show that:
$$(17,15,13)+a(-1,-1,2)+b(-1,2,-1)$$
can never be $(45,0,0), (0,45,0),$ or $(0,0,45)$ when $a,b$ are integers.
If we have such $a,b$, then $a+b\equiv 17\pmod {45}, 2b-a\equiv -15\pmod{45}$ and thus $3b\equiv 2\pmod{45}$, which is impossible.
Another way to state this is:
If $(x,y,z)+a(-1,-1,2)+b(-1,2,-1)+c(2,-1,-1) = (x',y',z')$ then $x-y\equiv x'-y'\pmod{3}$ and $y-z\equiv y'-z'\pmod{3}$.
So if $(x',y',z')=(45,0,0),(0,45,0)$ or $(0.0,45)$ then $x-y\equiv 0\pmod 3$. But $17-15\equiv 2\pmod 3$.
This also means you can't get to $(15,15,15)$ since again it would mean $x-y\equiv 0\pmod 3$.
Best Answer
Let $R$, $B$, and $G$ be the number of red, blue, and green chameleons at the moment. After any meeting of chameleons, we have one of $$R\mapsto R,\quad B\mapsto B,\quad G\mapsto G$$
$$R\mapsto R-1,\quad B\mapsto B-1,\quad G\mapsto G+2$$ $$R\mapsto R+2,\quad B\mapsto B-1,\quad G\mapsto G-1$$ $$R\mapsto R-1,\quad B\mapsto B+2,\quad G\mapsto G-1$$ Note that $B-G\pmod 3$, $R-B\pmod 3$, and $G-R\pmod 3$ are preserved under any meeting. Supposing (WLOG) that all chameleons at some point became green, then both $R$ and $B$ would be $0$, and thus $R-B\equiv 0\pmod 3$. But having started with $R-B\equiv 2\pmod 3$, this is impossible. Thus, the chameleons can never all be the same color.