It sounds like you're heading in the right direction.
I think adding the accounts, improving the signup flow, and reducing the number of plans would go a long way. It seems like those are bigger issues than the pricing itself.
After getting a better handle on the service, one issue that occurred to me: how do you track the free tier usage? I assume its by request IP, but that should be stated in the docs. That could be another advantage of signing up for a free account -- to be able to see your usage; and knowing that you're below the max would provide some peace of mind and make them more comfortable building on the API.