If you do go with unity, code in C# as its a standardized language. If you decide to move onto other IDE you can use the code or what you learned of C# directly
I'd say code with whatever you want. There aren't a whole lot of differences between UnityScript and C#. Choose one, roll with it, and learn the other if you want it later. UnityScript can be a bit easier for new programmers, so I'd suggest it; it'll fix some stuff by itself instead of bugging you about it, and that can ease the frustration a bit for new programmers.
Also, I often see people saying that the language you use doesn't affect your game's performance, so don't fret about that when choosing your language.
It encourages poor architecture.
I'd appreciate it if you'd elaborate on that a bit, as I'm kind of wondering what you mean by it, and other people might be in the future as well.