More than 40% of hospital departments do not accommodate children aged 12 and above in paediatric units, forcing older children onto general wards, according to charity Action for Sick Children Scotland.
The charity says this means young people miss out on any chance of education during their spell in hospital and that they may be distressed by surrounding patients.
The survey, which covered more than 30 Scottish hospitals, also showed almost one-quarter of wards will not allow parents to stay with children undergoing surgery while they are anaesthetised. Meanwhile, one-third do not permit parents to wait while their child awakens in the recovery room.
These results are poorer than the previous survey conducted by the charity six years ago.
Professor Richard Olver, chairman of Action for Sick Children Scotland, said: "It is scary for an adult (coming round after surgery) so for a child of any age it must be horrendous. Only on two-thirds of wards are parents allowed to be there."
The Scottish Government has committed to the European Association for Children in Hospital charter which says children have a right to be accompanied by a parent or substitute at all times and will not be admitted to adult wards.
Professor Olver, an expert in child health at Ninewells Hospital, Dundee, said: "The Scottish Government's policies are absolutely first rate but currently there's not a will or a way of delivering them or monitoring them. That is where the system really falls down."
Young people who have spent time in hospital helped the charity present their findings to MSPs in Holyrood last night.
One member of the Scottish Youth Parliament said in her anonymous testimony: "Imagine being 16, admitted to a ward where the closest age gap between you and the next youngest person in that room is up to 50 years.
"At this age you almost feel obliged to help an elderly person, so even when you are there to recover and rest you find yourself continuously getting in and out of bed to help.
"We can all experience the feelings of fear and anxiety when in hospital but being in a ward with elderly patients with health disorders such as dementia can be extremely difficult."
The Action for Sick Children survey found 41% of wards did not accommodate children aged 12-plus in a children's unit.
Hospitals are supposed to offer 16 to 18-year-olds a choice of adult or paediatric ward, but the research found just 13% of wards did this, down from 29% when the last survey was completed in 2007.
The investigation also raised concern about meals, finding 62% of wards have specific menus for children and 55% supply age-appropriate cutlery and tableware.
A Scottish Government spokesman said: "NHS Scotland is committed to moving the upper age limit for its children's hospital services from the 13th to the 16th birthday, with some flexibility up to 18 years.
"That change has been implemented in many hospitals but it will not be fully in place across Scotland until the new hospitals in Edinburgh and Glasgow are completed.
"Although services, facilities or accommodation are different in each area, all boards should ensure the needs of young people are taken into account within the setting to which they are admitted."