I second Scrollmaster's answer of letting them play the GMPC mechanically if not in roleplay. You could even switch who plays the GMPC each session. This may lead to some players discovering classes they usually avoid, or let them sporadically play as these classes without being stuck with them for an entire camapign, too.
If the players are not up to this or you have a reason for not letting them control such characters, we go back to the issue of how to make these characters and the opposition act towards each other without too much bias.
Let the dice decide!
This is a trick based on the Mythic GM Emulator where you define the probabilities of things happening and roll dice to determine the final outcome.
Here, I suggest that whenever you feel your own knowledge as GM is at risk of introducing unwanted bias into your decisions, let the dice decide.
To choose who an enemy is going to attack, consider their point of view and note any preference they might have. A clever foe aware of the party's individual strengths and weaknesses might have a preferred target. A more common foe might have no idea who's the "best" target, or might not care. If multiple choices are possible, weight them, if needed, and roll a d100.
4 PCs and 1 GMPC, no obvious target choice: 20% chance each.
d100 = 34
You pick the second PC (use the order of the sheets, of players around the table, etc...)
Same team, but one PC should be a favored target of the villain. Yet, you want to remain impartial. Assign 60% to the favored target, divide the rest among the remaining PCs (and your GMPC if he was not the favored target).
d100 = 40 => You pick the favored target
d100 = 77 => Pick the second remaining character
You can use the same concept for tactics. Maybe you know that the best thing to do is to flank PC #3, but you're not sure the gnolls would... Just ask this as a question (see below for the technique).
An added bonus to this method is that you will get surprises as a GM and possibly enjoy playing your GMPC some more as you don't decide everything that's going to happen.
For your second point, how much GM knowledge to reveal through the GMPC, I'd use a similar technique combined with your game system.
First, the technique!
- Define a simple "yes or no" question you do not want to answer directly.
- Define the weight of either answer. If it's likely that he knows, pick a number from 51 to 99, with 99 being near-absolute certainty (because the GMPC is a childhood friend of the villain, has adventured with them in the past, etc...) If it's unlikely, go with 1 to 49 (the GMPC doesn't know the villain personally but you defined he did some research on him). If it could really go either way, aka "I have no idea!", pick 50.
- Roll a d100
- If you roll below of equal to the chance percentage, it's a Yes to your question. If you roll above, it's a No.
- If you want some twists, consider results very close to the chance percentage as being "Yes, but" and "No, but" answers and try to come up with the "but" part.
Boom! You get a random but informed (through weighted choices) answer.
Now to the problem at hand, as an example.
"Should my GMPC reveal the villain's weakness?"
Does the GMPC actually know about the weakness? He could but you're not sure? It might be time to use a knowledge skill check of sorts, if not an Intelligence check! I strongly suggest to look at existing mechanical aspects of the GMPC to define what they know and choose to do. If something is a clever tactic, check their Intelligence. If it's a matter of "getting" the enemy, make a Sense Motive check for them.
If it's not a matter of skills and more about GM bias, time to use the previous technique and turn this into a question: "Does the GMPC know about the villain's weakness?" We're looking for a Yes or a No. The GMPC knows quite a bit about the villain, so let's go with 75%
d100 = 95
It's a No, and since we're very close to the upper limit, let's say it's an Absolute No. Somehow, in spite of all the GMPC knows about the villain, he's never found out about any specific weaknesses and is thinking he doesn't have any! Let the GMPC act this out, warning the other PCs and reacting to this lack of knowledge with their personality (being in favor of fleeing, or going all out in a blaze of glory, etc...)
What if he does know the weakness? Should he act on it? Is there a reason for him to, or not to? Is there room for hesitation?
The GMPC does know the weakness of the villain, but this villain was a dear childhood friend before turning... and something it tugging at heartstrings. Will the GMPC let the PCs know and help possibly kill his former friend? Is he going to keep it secret and try to push the PCs away from the confrontation?
"Does the GMPC reveal the weakness?" 50%, because it's such a conundrum.
d100 = 45. Yes. Or "Yes but..." considering how close it is to 50%. He does reveal the secret, but maybe not the whole of it? Or perhaps he joins up with the villain right after to somehow make up for this treason?
d100 = 67. No, the GMPC does not reveal the secret. Still, knowing about it, he may use it to his advantage if things start to go sour. Either use this to save the party from a TPK and have a cool roleplaying scene afterwards ("How did you know his weakness? Why didn't you tell us?!") or put this as a new question if you're unsure what to do.
d100 = 1. Yes, the GMPC reveals it, and he also pushes the party towards using it, to finally end this, once and for all.
Oh, and if you don't like the answer, don't let the dice rule, you are the GM. The randomness just showed you what you knew and wanted all along, go with it.
Also, you are still responsible for everyone having a good time and sometimes this means you should have the GMPC give a hint simply to keep things moving. Let the dice help you but don't solely rely on them.