Considering teaching to a team member, but seeing as a bad type could result in it using the wrong attacking stat in this gen, I'd like to be able to find out the type in advance. is there an NPC who tells you, or some way to find out based on my Pokemon's nature or stats?
There's no hidden power checker in Generation 3.
One way (possibly not the best way) to check the hidden power type is to get a Kecleon and use hidden power on it in a double battle. You still won't know its base power by doing this.