Overall this is a very nice simplification of the logic!  Just one corner case that I think it isn't handling, that of a length=1 array initializing Time:
```
In [4]: t1 = Time([1.], format='jd', scale='tai')

In [5]: t1.isscalar
Out[5]: False

In [6]: len(t1._time.jd1)
Out[6]: 1
```
By your `len(jd1) == 1` test below I think this will convert a len-1 array to a scalar.  I think you just need a line here with:
```
result_isscalar = self.isscalar and other.isscalar
```
So only if both the inputs are scalar then the output is scalar.  Then use `result_isscalar` instead of `len(jd1) == 1`.