Named-entity recognition: How to tag the training set and chose the algorithm?
Named Entity Recognition(Stanford) is enough for your problem.
Using POS tagging will not help your problem.
A sufficient amount of training data for generating the NER model would give you good results.
If you use the Stanford NER then it uses the CRF classifier and algorithm.
For text that contains company names I want to train a model that automatically tags contractors (company executing the task) and principals (company hiring the contractor).
An example sentence would be:

Blossom Inc. hires the consultants of Big Think to develop an outsourcing strategy.

with Blossom Inc as the principal and Big Think as the contractor.
My first question: Is it enough to tag only the principals and contractors in my training set or is it better to additionally use POS-tagging?
In other words, either

Blossom/PRINCIPAL Inc./PRINCIPAL hires/NN the/NN consultants/NN of/NN Big/CONTRACTOR Think/CONTRACTOR to/NN develop/NN an/NN outsourcing/NN strategy/NN ./.

or

Blossom/PRINCIPAL Inc./PRINCIPAL hires/VBZ the/DT consultants/NNS of/IN Big/CONTRACTOR Think/CONTRACTOR to/TO develop/VB an/DT outsourcing/NN strategy/NN ./.

Second question: Once I have my training set, which algorithm(s) of the nltk-package is/are most promising? N-Gram Tagger, Brill Tagger, TnT Tagger, Maxent Classifier, Naive Bayes, ...? Or am I completely on the wrong track here?
I am new to NLP and I just wanted to ask for advice before I invest a lot of time in tagging my training set. And my text is in German, which might add some difficulties... Thanks for any advice!