If you encounter a trainer that don't give a quest, because he says you already have one active, this is what you do:
1. Get quest from another trainer
2. Talk to the borked trainer, activate quest, but to NOT accept
3. Cancel the quest you have active, and THEN hit accept
4. Continue as usual
I've used this method with several of the dragon quests...