Hi,
You can use this undocumented feature:
@startuml
skinparam nodesep 10
skinparam ranksep 20
class Foo1
class Foo2
Foo3 *-- Foo1
@enduml
Value for node separation and rank separation are in pixel.
It's true that when diagram is big (or very big) manual placement could be useful. However and unfortunatly, this is againt PlantUML concept...
Could you publish or send us an example of your big diagram : maybe we could help you or improve PlantUML to better handle your diagram.
Regards,
Arnaud