I am not aware of any tools, and the best way to create indexes is to actually check the queries and their execution plans manually. I don't think that an automated tool will ever be as good as a few good DBA's analyzing the data together with the Profiler.
But, if you feel like giving a shot yourself, I recommend that you start looking at the performance views in the SQL Server.
Start with the function sys.dm_db_missing_index_columns
, that should give you a hint of which columns that could benefit from being indexed.
sys.dm_db_index_usage_stats
could show you which indexes are useless, or could be optimized as well.
sys.dm_exec_cached_plans
, sys.dm_exec_query_plan
, sys.dm_exec_query_stats
and sys.dm_exec_sql_text
should show you queries performed and how they perform, and together with information from the other tables, you could probably find out which ones that need more work.
Actually, I vaguely recall some wizard that can help you to analyze performance in the Profiler, probably not automatically, but it might be possible to put that in a Maintenance plan.