Metamask is a little to eager in trying to resolve my ENS subdomain! It works great when I copy and paste the ens name in, but doesn't do too well when I type it!

I agree, we could save the validation for either:
once the string ens with a tld (should have a period between two non-zero length strings)
We already do this. So perhaps we just need to increase the delay on the debounce.
It seems to work properly in the old UI
Could you just leave it as the name? Replacing it with the address in the input field isn't ideal.
the resolution should be verified after the user is done entering the .eth or any other TLD (since now ens supports .xyz and will soon support more)
also agree with Nick that the name should stay visible
and as I wrote here https://github.com/MetaMask/metamask-extension/issues/4616#issuecomment-422763803
.... probably ALSO display a greyed out and shorthand version of the address
Most helpful comment
Could you just leave it as the name? Replacing it with the address in the input field isn't ideal.